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 |