=> (def m {:x "a" :y 3})
#'runtime.q_test/m
=> (time (dotimes [n 10000000] (hash m)))
"Elapsed time: 154.650091 msecs"
nil
=> (time (dotimes [n 10000000] (hash m)))
"Elapsed time: 164.724641 msecs"
nil
=> (time (dotimes [n 10000000] (hash m)))
"Elapsed time: 150.194984 msecs"
nil
=> (time (dotimes [n 10000000] (hash {:x "a" :y 3})))
"Elapsed time: 57.981602 msecs"
nil
=> (time (dotimes [n 10000000] (hash {:x "a" :y 3})))
"Elapsed time: 70.803223 msecs"
nil
=> (time (dotimes [n 10000000] (hash {:x "a" :y 3})))
"Elapsed time: 67.395947 msecs"
nil


=> (def r (A. "a" 3))
#'runtime.q_test/r
=> (time (dotimes [n 10000000] (hash r)))
"Elapsed time: 4906.641334 msecs"
nil
=> (time (dotimes [n 10000000] (hash r)))
"Elapsed time: 4959.124395 msecs"
nil
=> (time (dotimes [n 10000000] (hash (A. "a" 3))))
"Elapsed time: 4842.496589 msecs"
nil
=> (time (dotimes [n 10000000] (hash (A. "a" 3))))
"Elapsed time: 4856.855515 msecs"
nil




On Sun, Feb 3, 2013 at 8:26 AM, AtKaaZ <atk...@gmail.com> wrote:

> he's in RC4
> => *clojure-version*
> {:major 1, :minor 5, :incremental 0, :qualifier "RC4"}
>
>
> => (time (dotimes [n 10000000] (hash {:x "a" :y 3})))
> "Elapsed time: 70.037502 msecs"
>
>
> => (time (dotimes [n 10000000] (hash (A. "a" 3))))
> "Elapsed time: 5307.93947 msecs"
>
>
> On Sun, Feb 3, 2013 at 8:22 AM, Leonardo Borges <
> leonardoborges...@gmail.com> wrote:
>
>> Are you running these in Clojure 1.5 RC-1 by any chance? That's when I
>> got results similar to yours.
>>
>> In Clojure 1.4, I get this:
>>
>> user> (time (dotimes [n 10000000] (hash {:x "a" :y 3})))
>> "Elapsed time: 5993.331 msecs"
>> nil
>> user>  (time (dotimes [n 10000000] (hash (A. "a" 3))))
>> "Elapsed time: 3144.368 msecs"
>>
>> No clue as to the reason though - but it seems something might have
>> changed from 1.4 to 1.5?
>>
>>
>> Leonardo Borges
>> www.leonardoborges.com
>>
>>
>> On Sun, Feb 3, 2013 at 5:07 PM, Mark Engelberg <mark.engelb...@gmail.com>
>> wrote:
>> > I just went through the process of converting my map-based program over
>> to
>> > records, hoping it would improve speed.  Much to my dismay, it actually
>> > slowed my program down substantially.  With some profiling, I discovered
>> > that one possible explanation is that (at least in RC4) hashing of
>> records
>> > is about 60x slower than their map-based counterpart.
>> >
>> > (defrecord A [x y])
>> > => (time (dotimes [n 10000000] (hash {:x "a" :y 3})))
>> > "Elapsed time: 90.631072 msecs"
>> > => (time (dotimes [n 10000000] (hash (A. "a" 3))))
>> > "Elapsed time: 5549.788311 msecs"
>> >
>> > Any thoughts about why this is the case?
>> >
>> > --
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "Clojure" group.
>> > To post to this group, send email to clojure@googlegroups.com
>> > Note that posts from new members are moderated - please be patient with
>> your
>> > first post.
>> > To unsubscribe from this group, send email to
>> > clojure+unsubscr...@googlegroups.com
>> > For more options, visit this group at
>> > http://groups.google.com/group/clojure?hl=en
>> > ---
>> > You received this message because you are subscribed to the Google
>> Groups
>> > "Clojure" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an
>> > email to clojure+unsubscr...@googlegroups.com.
>> > For more options, visit https://groups.google.com/groups/opt_out.
>> >
>> >
>>
>> --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>
> --
> Please correct me if I'm wrong or incomplete,
> even if you think I'll subconsciously hate it.
>
>


-- 
Please correct me if I'm wrong or incomplete,
even if you think I'll subconsciously hate it.

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to