=> (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.