Also remember to give the JVM some warm up time, as the JVM depends heavily on JIT style optimizations, and measuring performance without it might not represent real world behavior,
-- Ashton On Saturday, January 31, 2015 at 11:39:05 PM UTC-7, Mars0i wrote: > > You also might want to use Criterium > <https://github.com/hugoduncan/criterium> rather than *time *for accurate > benchmarking*.* > > On Friday, January 30, 2015 at 6:54:52 AM UTC-6, Maris wrote: >> >> >> yes, it helped :-) >> >> type hints make non-trivial difference >> >> thank you >> >> On Friday, 30 January 2015 12:43:40 UTC, Nicola Mometto wrote: >>> >>> >>> If you set! *warn-on-reflection* to true, you'd see a lot of reflection >>> warnings from your code. >>> >>> Type-hinting the code like this: http://sprunge.us/ATiV makes your >>> example execute in 120ms on my machine. >>> >>> Maris writes: >>> >>> > I implemented leftist heap (from Purely Functional Data Structures >>> book) >>> > in clojure. >>> > >>> > https://gist.github.com/maruks/135fef92455578b61de2 >>> > >>> > It takes 32 seconds to insert 100000 elements in heap: >>> > >>> > (time (peek (reduce conj (empty-heap) (range 10000000 20000000 >>> 100) >>> > ))) >>> > "Elapsed time: 32649.71438 msecs" >>> > 10000000 >>> > >>> > Why is it so much slower than SML NJ? Something wrong with my code? >>> > >>> > >>> > Here is SML version: >>> > https://gist.github.com/maruks/c863eac9cf057a071307 >>> > >>> > And function that inserts 100000 elements in *54* milliseconds ! >>> > >>> > fun test(n:int) : int = >>> > let >>> > val r = List.tabulate(n, fn x => 10000000 + 100 * x) >>> > val h = foldl ( fn (e, h) => IntHeap.insert(e , h) ) IntHeap.empty r >>> > in >>> > IntHeap.findMin(h) >>> > end >>> >>> -- >>> >> -- 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/d/optout.