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

Reply via email to