Skip to content

Instantly share code, notes, and snippets.

@ktakashi
Last active November 2, 2015 08:55
Show Gist options
  • Save ktakashi/803b96cc6c0f4a39a522 to your computer and use it in GitHub Desktop.
Save ktakashi/803b96cc6c0f4a39a522 to your computer and use it in GitHub Desktop.
expt performance comparison
;; for Sagittarius, Ypsilon
(import (rnrs) (time))
;; for Mosh
;; (import (rnrs) (mosh))
;; for Chez with --script option
;; (import (rnrs))
;; for Vicare
;; (import (rnrs) (vicare))
;; for Racket
;; (import (rnrs) (only (racket base) time))
;; for Gauche with -r7 option
;; (import (scheme base) (gauche base))
;; for Chibi
;; (import (scheme base) (chibi time))
;; for Larceny
;; (import (rnrs) (primitives time))
;; ADDME Guile and IronScheme
;; to avoid compile time folding
(define v (make-vector 1 1000000))
(time (begin (expt 2 (vector-ref v 0)) #f))
(time (begin (expt 3 (vector-ref v 0)) #f))
(time (begin (expt 5 (vector-ref v 0)) #f))
(time (begin (expt 7 (vector-ref v 0)) #f))
Sagittarius (0.6.10 HEAD):
;; (begin (expt 2 (vector-ref v 0)) #f)
;; 3.5e-500 real 3.3e-500 user 3.0e-600 sys
;; (begin (expt 3 (vector-ref v 0)) #f)
;; 0.055051 real 0.055129 user 0.000000 sys
;; (begin (expt 5 (vector-ref v 0)) #f)
;; 0.097192 real 0.097250 user 0.000000 sys
;; (begin (expt 7 (vector-ref v 0)) #f)
;; 0.127359 real 0.127419 user 0.000000 sys
From here, all implementations are current latest released version (Nov 2, 2015)
Ypsilon:
;; 0.000017 real 0.000009 user 0.000004 sys
;; 0.488185 real 0.48825 user 0.0 sys
;; 1.058349 real 1.059301 user 0.0 sys
;; 1.531591 real 1.530835 user 0.0 sys
Mosh:
;;0.00007104873657226563 real 0.000057000000000001494 user 0.000013000000000000858 sys
;;0.0050661563873291016 real 0.004874000000000003 user 0.00018699999999999967 sys
;;0.007447004318237305 real 0.007539000000000004 user 0.0 sys
;;0.010776996612548828 real 0.007036999999999995 user 0.0037 sys
Petite Chez:
(time (begin (expt 2 ...) ...))
no collections
0 ms elapsed cpu time
0 ms elapsed real time
375056 bytes allocated
(time (begin (expt 3 ...) ...))
no collections
1619 ms elapsed cpu time
1618 ms elapsed real time
400016 bytes allocated
(time (begin (expt 5 ...) ...))
no collections
3491 ms elapsed cpu time
3493 ms elapsed real time
1166400 bytes allocated
(time (begin (expt 7 ...) ...))
no collections
5088 ms elapsed cpu time
5088 ms elapsed real time
708320 bytes allocated
Vicare:
running stats for (begin (expt 2 (vector-ref v 0)) #f):
no collections
10 ms elapsed cpu time, including 0 ms collecting
9 ms elapsed real time, including 0 ms collecting
842480 bytes allocated
running stats for (begin (expt 3 (vector-ref v 0)) #f):
no collections
16 ms elapsed cpu time, including 0 ms collecting
16 ms elapsed real time, including 0 ms collecting
1334816 bytes allocated
running stats for (begin (expt 5 (vector-ref v 0)) #f):
no collections
27 ms elapsed cpu time, including 0 ms collecting
26 ms elapsed real time, including 0 ms collecting
1955232 bytes allocated
running stats for (begin (expt 7 (vector-ref v 0)) #f):
1 collection
36 ms elapsed cpu time, including 2 ms collecting
36 ms elapsed real time, including 2 ms collecting
2363840 bytes allocated
Racket:
cpu time: 0 real time: 0 gc time: 0
cpu time: 37 real time: 38 gc time: 0
cpu time: 66 real time: 65 gc time: 0
cpu time: 82 real time: 83 gc time: 0
Gauche (0.9.5_pre):
;(time (begin (expt 2 (vector-ref v 0)) #f))
; real 0.000
; user 0.000
; sys 0.000
;(time (begin (expt 3 (vector-ref v 0)) #f))
; real 1.923
; user 1.920
; sys 0.000
;(time (begin (expt 5 (vector-ref v 0)) #f))
; real 4.127
; user 4.130
; sys 0.000
;(time (begin (expt 7 (vector-ref v 0)) #f))
; real 6.089
; user 6.080
; sys 0.000
Chibi Scheme:
#f: 7094 ms
#f: 24258 ms
#f: 53599 ms
#f: 67598 ms
Larceny:
Words allocated: 2096450
Elapsed time...: 133 ms (User: 133 ms; System: 0 ms)
Elapsed GC time: 0 ms (CPU: 0 in 2 collections (2 minor).)
{Max pause elapsed: 2 ms, CPU: 2 ms }
{Max cheney elapsed: 2 ms, CPU: 2 ms}
{Max sumz elapsed: 0 ms, CPU: 0 ms}
{Max mark elapsed: 0 ms, CPU: 0 ms, refine: 0 ms, CPU: 0 ms}
{Max remset scan elapsed: 1 ms, CPU: 0 ms, entries: 86}
{Avg remset scan elapsed: 3/7 ms, CPU: 0 ms, entries: 457/7}
{Max words, Mem: 8220672 Heap: 8064000 Remset: 114688 Summaries: 0 Marking: 0 Rts: 25600 Waste: 0}
Elapsed mark time: 0 ms (CPU: 0 in 0 marks.)
Elapsed summarization time: 0 ms (CPU: 0 in 0 summarization.)
Words allocated: 102759502
Elapsed time...: 18786 ms (User: 18746 ms; System: 23 ms)
Elapsed GC time: 37 ms (CPU: 46 in 98 collections (95 minor).)
{Max pause elapsed: 5 ms, CPU: 4 ms }
{Max cheney elapsed: 5 ms, CPU: 4 ms}
{Max sumz elapsed: 0 ms, CPU: 0 ms}
{Max mark elapsed: 0 ms, CPU: 0 ms, refine: 0 ms, CPU: 0 ms}
{Max remset scan elapsed: 1 ms, CPU: 1 ms, entries: 86}
{Avg remset scan elapsed: 17/105 ms, CPU: 16/105 ms, entries: 1557/35}
{Max words, Mem: 23351296 Heap: 23161856 Remset: 114688 Summaries: 0 Marking: 0 Rts: 25600 Waste: 0}
Elapsed mark time: 0 ms (CPU: 0 in 0 marks.)
Elapsed summarization time: 0 ms (CPU: 0 in 0 summarization.)
Words allocated: 144718850
Elapsed time...: 30497 ms (User: 30396 ms; System: 76 ms)
Elapsed GC time: 40 ms (CPU: 54 in 138 collections (134 minor).)
{Max pause elapsed: 6 ms, CPU: 5 ms }
{Max cheney elapsed: 6 ms, CPU: 5 ms}
{Max sumz elapsed: 0 ms, CPU: 0 ms}
{Max mark elapsed: 0 ms, CPU: 0 ms, refine: 0 ms, CPU: 0 ms}
{Max remset scan elapsed: 1 ms, CPU: 1 ms, entries: 86}
{Avg remset scan elapsed: 34/243 ms, CPU: 11/81 ms, entries: 3535/81}
{Max words, Mem: 31056896 Heap: 30867456 Remset: 114688 Summaries: 0 Marking: 0 Rts: 25600 Waste: 0}
Elapsed mark time: 0 ms (CPU: 0 in 0 marks.)
Elapsed summarization time: 0 ms (CPU: 0 in 0 summarization.)
Words allocated: 272633092
Elapsed time...: 45216 ms (User: 45171 ms; System: 24 ms)
Elapsed GC time: 50 ms (CPU: 57 in 260 collections (254 minor).)
{Max pause elapsed: 6 ms, CPU: 5 ms }
{Max cheney elapsed: 6 ms, CPU: 5 ms}
{Max sumz elapsed: 0 ms, CPU: 0 ms}
{Max mark elapsed: 0 ms, CPU: 0 ms, refine: 0 ms, CPU: 0 ms}
{Max remset scan elapsed: 1 ms, CPU: 1 ms, entries: 86}
{Avg remset scan elapsed: 61/503 ms, CPU: 69/503 ms, entries: 21785/503}
{Max words, Mem: 31056896 Heap: 30867456 Remset: 114688 Summaries: 0 Marking: 0 Rts: 25600 Waste: 0}
Elapsed mark time: 0 ms (CPU: 0 in 0 marks.)
Elapsed summarization time: 0 ms (CPU: 0 in 0 summarization.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment