-
-
Save mflatt/f55adb5a6d08045c0d6276b4ce64ddfb to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#lang racket/base | |
(define ht (make-hash)) | |
(define N 30000) | |
(time | |
(for ([i N]) | |
(hash-set! ht i i))) | |
(time | |
(for ([i N]) | |
(hash-set! ht (+ 0.0 i) i))) | |
(time | |
(for ([i N]) | |
(hash-set! ht (arithmetic-shift i 16) i))) | |
(time | |
(for ([i N]) | |
(hash-set! ht (arithmetic-shift i 32) i))) | |
(time | |
(for ([i N]) | |
(hash-set! ht (arithmetic-shift i 100) i))) | |
#| | |
CS | |
---- | |
Old: | |
cpu time: 1 real time: 1 gc time: 0 | |
cpu time: 8062 real time: 8068 gc time: 7 | |
cpu time: 13670 real time: 13684 gc time: 4 | |
cpu time: 33225 real time: 33258 gc time: 11 | |
cpu time: 60236 real time: 60326 gc time: 8 | |
New: | |
cpu time: 1 real time: 1 gc time: 0 | |
cpu time: 3 real time: 3 gc time: 0 | |
cpu time: 13 real time: 13 gc time: 9 | |
cpu time: 2 real time: 2 gc time: 0 | |
cpu time: 15 real time: 16 gc time: 5 | |
Old with N * 10: | |
cpu time: 57 real time: 58 gc time: 35 | |
[... rest are longer than I'm willing to wait] | |
New with N * 10: | |
cpu time: 60 real time: 60 gc time: 37 | |
cpu time: 111 real time: 111 gc time: 77 | |
cpu time: 66 real time: 66 gc time: 8 | |
cpu time: 147 real time: 147 gc time: 88 | |
cpu time: 209 real time: 210 gc time: 31 | |
BC | |
---- | |
Old: | |
cpu time: 5 real time: 6 gc time: 0 | |
cpu time: 6 real time: 6 gc time: 0 | |
cpu time: 201 real time: 202 gc time: 0 | |
cpu time: 20202 real time: 20219 gc time: 5 | |
cpu time: 18159 real time: 18162 gc time: 0 | |
New: | |
cpu time: 4 real time: 3 gc time: 0 | |
cpu time: 8 real time: 8 gc time: 0 | |
cpu time: 7 real time: 7 gc time: 0 | |
cpu time: 29 real time: 29 gc time: 5 | |
cpu time: 8 real time: 8 gc time: 0 | |
Old with N * 10: | |
cpu time: 69 real time: 69 gc time: 7 | |
cpu time: 141 real time: 141 gc time: 14 | |
cpu time: 6473 real time: 6473 gc time: 50 | |
[...] | |
New with N * 10: | |
cpu time: 37 real time: 37 gc time: 7 | |
cpu time: 152 real time: 153 gc time: 14 | |
cpu time: 347 real time: 347 gc time: 49 | |
cpu time: 120 real time: 120 gc time: 0 | |
cpu time: 804 real time: 805 gc time: 133 | |
|# |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment