Created
August 28, 2011 02:58
-
-
Save daveray/1176183 to your computer and use it in GitHub Desktop.
match.java/bean-object perf compared to clojure.core/bean
This file contains hidden or 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
; If I'm doing something completely bogus here, let me know :) | |
user=> (use 'match.core) | |
nil | |
user=> | |
(extend-type java.awt.Color | |
IMatchLookup | |
(val-at* [this k not-found] | |
(get (bean this) k not-found))) | |
nil | |
user=> | |
(match [java.awt.Color/RED] | |
[{:red red :green green :blue blue}] [red green blue] | |
:else :error) | |
[255 0 0] | |
user=> | |
(dotimes [_ 10] | |
(time | |
(dotimes [_ 1e6] | |
(match [java.awt.Color/RED] | |
[{:red red :green green :blue blue}] [red green blue] | |
:else :error)))) | |
"Elapsed time: 16277.563 msecs" | |
"Elapsed time: 15926.8 msecs" | |
"Elapsed time: 15947.552 msecs" | |
"Elapsed time: 15932.178 msecs" | |
"Elapsed time: 15913.223 msecs" | |
"Elapsed time: 15922.486 msecs" | |
"Elapsed time: 15933.052 msecs" | |
"Elapsed time: 15925.06 msecs" | |
"Elapsed time: 15881.855 msecs" | |
"Elapsed time: 15913.371 msecs" | |
nil | |
user=> (use 'match.java :reload) | |
nil | |
user=> (bean-match java.awt.Color) | |
nil | |
user=> | |
(match [java.awt.Color/RED] | |
[{:red red :green green :blue blue}] [red green blue] | |
:else :error) | |
[255 0 0] | |
user=> | |
(dotimes [_ 10] | |
(time | |
(dotimes [_ 1e6] | |
(match [java.awt.Color/RED] | |
[{:red red :green green :blue blue}] [red green blue] | |
:else :error)))) | |
"Elapsed time: 226.668 msecs" | |
"Elapsed time: 191.967 msecs" | |
"Elapsed time: 191.431 msecs" | |
"Elapsed time: 190.824 msecs" | |
"Elapsed time: 188.212 msecs" | |
"Elapsed time: 187.629 msecs" | |
"Elapsed time: 188.953 msecs" | |
"Elapsed time: 188.91 msecs" | |
"Elapsed time: 187.886 msecs" | |
"Elapsed time: 188.482 msecs" | |
nil | |
user=> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment