On Thu, Nov 4, 2010 at 5:43 PM, Mike Meyer
<mwm-keyword-googlegroups.620...@mired.org> wrote:
> On Thu, 4 Nov 2010 22:28:12 +0100
> Pepijn de Vos <pepijnde...@gmail.com> wrote:
>
>> Hi all,
>>
>> I have written a Python script to analyze Minecraft levels and render a 
>> graph. Then I did the same with Clojure. It takes Python 10 seconds to 
>> analyze a map, while it takes Clojure over a minute.
>>
>> After having tried different options without any significant improvement, I 
>> am lost as to why there is such a huge difference. I wouldn't mind an extra 
>> pair of eyes/brains to look at this.
>>
>> I blogged about it in more detail here: 
>> http://pepijndevos.nl/clojure-versus-python
>> Clojure version: https://github.com/pepijndevos/Clomian/
>> Python version: https://github.com/l0b0/mian
>>
>> Clojure spends most of its time in the freqs function, here are a couple of 
>> variations: https://gist.github.com/663096
>>
>> If you want to run the code yourself, you'll need a Minecraft level and 
>> JNBT, which is not on Maven.
>> JNBT: http://jnbt.sourceforge.net/
>> The level used in the blogpost: http://dl.dropbox.com/u/10094764/World2.zip
>
> Can you check GC activity in the clojure version?
>
> I once ran into an issue where Python was running rings around an
> Eiffel version (compiled down to native code - no VM need apply). This
> looks similar to what you have, in that I built a large data
> structure, and then started groveling over it. Turned out that Eiffel
> was doing a mark-and-sweep GC, which was spending all of it's time
> marking and sweeping the large static data structure, whereas python
> doing a reference count GC didn't. Given that I know nothing about
> Java GCs, this is just a WAG.
>
> Come to think of it, how about trying to run the program Jython? That
> should have the same GC issues. If it's some similar environmental
> problem, that would show up there as well.

There are many different collectors for the JVMs, too numerous to list
here, all tunable.

http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html


-- 
http://www.apgwoz.com

-- 
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