View difference between Paste ID: uxPNyFwg and wnuZKRyA
SHOW: | | - or go back to the newest paste.
1
(defn p1 []
2
  (dotimes [i N]
3
    nil))
4
5
    (time (p1))
6
7
$ \time java -cp target/xgp.clib-0.1-standalone.jar xgp.clib.stm
8
10000000 iterations:
9
"Elapsed time: 288.107171 msecs"
10
1.78user 0.05system 0:01.60elapsed 114%CPU (0avgtext+0avgdata 80872maxresident)k
11
64inputs+72outputs (0major+25288minor)pagefaults 0swaps
12
13
public java.lang.Object invoke();
14
  Code:
15
   0:   getstatic       #34; //Field const__1:Lclojure/lang/Var;
16
   3:   invokevirtual   #58; //Method clojure/lang/Var.getRawRoot:()Ljava/lang/Object;
17
   6:   invokestatic    #62; //Method clojure/lang/RT.longCast:(Ljava/lang/Object;)J
18
   9:   lstore_1
19
   10:  lconst_0
20
   11:  lstore_3
21
   12:  lload_3
22
   13:  lload_1
23
   14:  lcmp
24
   15:  ifge    31
25
   18:  aconst_null
26
   19:  pop
27
   20:  lload_3
28
   21:  lconst_1
29
   22:  ladd
30
   23:  lstore_3
31
   24:  goto    12
32
   27:  goto    32
33
   30:  pop
34
   31:  aconst_null
35
   32:  areturn
36
37
38
39
    long before = System.nanoTime ();
40
    for (long i = 0; i < N; i++)
41
      ;
42
    System.out.println (System.nanoTime () - before);
43
44
45
$ \time java -cp . x
46
10826513
47
0.07user 0.01system 0:00.09elapsed 88%CPU (0avgtext+0avgdata 14152maxresident)k
48
0inputs+72outputs (0major+3873minor)pagefaults 0swaps
49
50
   11:  lstore_2
51
   12:  lconst_0
52
   13:  lstore  4
53
   15:  lload   4
54
   17:  getstatic       #2; //Field N:J
55
   20:  lcmp
56
   21:  ifge    33
57
   24:  lload   4
58
   26:  lconst_1
59
   27:  ladd
60
   28:  lstore  4
61
   30:  goto    15