I'd have thought that vectors are eval'd sequentially, are they not? FWIW I get the same kind of slowdown measurement between versions when just employing the built-in time macro... will report back after the profiling session, but it all seems v. odd!
On 3 October 2012 02:36, Ben Wolfson <wolf...@gmail.com> wrote: > time-action seems to assume that the elements of a vector literal are > evaluated sequentially in order of index---is that guaranteed? > > On Tue, Oct 2, 2012 at 6:35 PM, Karsten Schmidt <toxmeis...@gmail.com> wrote: >> Hi Andy, the timings were collected with two litte macros I've written >> and which are available here: >> http://hg.postspectacular.com/macrochrono/src/tip/src/macrochrono.clj >> >> The actual project in question will be released in the next few >> months, once things are more stable. >> >> I haven't run a profiler yet, but will try tomorrow... >> >> Thanks, K. >> >> On 3 October 2012 01:40, Andy Fingerhut <andy.finger...@gmail.com> wrote: >>> I'm not aware of what changes made in 1.4 could cause this performance >>> degradation. >>> >>> Out of curiosity, are you willing to share your code for performance >>> profiling of future Clojure versions? i.e. is it open source already and >>> so that wouldn't be a problem, or is it closed source? >>> >>> Have you run a profiler on your tests to see where the time is spent with >>> Clojure 1.3 vs Clojure 1.4? >>> >>> Andy >>> >>> On Oct 2, 2012, at 4:24 PM, Karsten Schmidt wrote: >>> >>>> Today, I decided to finally switch one of my projects from Clojure >>>> 1.3.0 to 1.4.0 (and test driving the 1.5.0 snapshot) but quickly found >>>> some discouraging effects in terms of performance. The project >>>> involves a lot of geometry and I'm using vanilla vectors for all >>>> vector math. So far I've *not* been using any type hints or casting, >>>> but was generally happy with the performance under 1.3.0... >>>> >>>> Under 1.3.0, e.g. a Delaunay triangulation of 5000 random 2D points >>>> resulting in approx. 9450 triangles takes: >>>> >>>> average 422ms / minimum 393ms - version with transients: avg. 358ms / min. >>>> 324ms >>>> >>>> The exact same code under 1.4.0: >>>> >>>> average 695ms / minimum 640ms - version with transients: avg. 672ms / min. >>>> 616ms >>>> >>>> That's 1.65x slower and the only thing changed is the clojure version >>>> number in project.clj. 1.5.0 snapshot is in the same league... :( Also >>>> note that the impact of transients is much reduced compared to >>>> 1.3.0... >>>> (All stats collected over 60sec duration.) >>>> >>>> Has there been another overhaul or behavior change of numerics in >>>> these recent versions? I'm really quite suprised/shocked by this find >>>> and can't explain it to myself. I was hoping to use the library also >>>> from CLJS in the future and hence have stayed away from adding type >>>> hints and explicit casting... >>>> >>>> Thanks for any insights! >>>> >>>> Best, K. >>> >>> -- >>> 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 >> >> -- >> Karsten Schmidt >> +44 7875 524 336 >> >> http://postspectacular.com | http://toxiclibs.org | http://toxi.co.uk >> >> -- >> 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 > > > > -- > Ben Wolfson > "Human kind has used its intelligence to vary the flavour of drinks, > which may be sweet, aromatic, fermented or spirit-based. ... Family > and social life also offer numerous other occasions to consume drinks > for pleasure." [Larousse, "Drink" entry] > > -- > 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 -- Karsten Schmidt +44 7875 524 336 http://postspectacular.com | http://toxiclibs.org | http://toxi.co.uk -- 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