madrobby (owner)

Forks

Revisions

gist: 227048 Download_button fork
public
Public Clone URL: git://gist.github.com/227048.git
Embed All Files: show embed
extreme.html #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<h1>Demo code for "Extreme JavaScript Performance" @ JSConf.eu</h1>
 
<script>
var benchmark = function(m,i){
  var d1 = new Date, d2, r;
  while(i--) r = m();
  d2 = new Date;
  console.log(d2.getTime()-d1.getTime());
  // if(r) console.log(r);
}
 
//var str = "12.5";
//
//benchmark(function(){
// ~~(1 * str);
//}, 1000000);
//
//benchmark(function(){
// parseInt(str);
//}, 1000000);
//
//
//benchmark(function(){
// var test = '';
// for (var i = 0;i<10000;i++)
// test = test + str;
//}, 100);
//
//benchmark(function(){
// var test = '', i = 10000;
// while(i--) test = test + str;
//}, 100);
 
//benchmark(function(){
// var w = window, i = 10000;
// while(i--) w.test = 'test';
//}, 100);
//
//benchmark(function(){
// var i = 10000;
// while(i--) window.test = 'test';
//}, 100);
 
//var b = true, n = 99;
//
//benchmark(function(){
// return n*n || b;
//}, 1000000);
//
//benchmark(function(){
// return b || n*n;
//}, 1000000);
 
//benchmark(function(){
// var obj = { prop: 'test', str: '' };
// with(obj){
// var i = 10000;
// while(i--) str += prop;
// return str;
// }
//}, 10);
//
//benchmark(function(){
// var obj = { prop: 'test', str: '' }, i = 10000;
// while(i--) obj.str += obj.prop;
// return obj.str;
//}, 10);
 
var a = 0;
 
benchmark(function(){
  try{
    a += 1;
  } catch(e) {}
}, 1000000);
 
benchmark(function(){
  a += 1;
}, 1000000);
 
(function(){ return 2 * 3; }).toString();
 
</script>