I almost forgot about this. I talked to mfex on IRC, and he came up
with the winning solution.
http://clojure-log.n01se.net/date/2010-11-07.html#11:32

https://gist.github.com/666228

Basically it comes down to *not* doing work, rather than doing it
fast.

What the Python version does - and this version as well - is check if
the block type is actually displayed before counting it.

Thanks for all the input!

On Nov 7, 6:30 pm, Justin Kramer <jkkra...@gmail.com> wrote:
> Implementing this in straight Java might help pinpoint whether this is
> a JVM issue or a Clojure issue.
>
> Also, FYI, there is clj-glob (https://github.com/jkk/clj-glob) for
> finding files based on patterns like */*/*.dat
>
> Justin
>
> On Nov 4, 4:28 pm, 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
>
> > Groeten,
> > Pepijn de Vos
> > --
> > Sent from my iPod Shufflehttp://pepijndevos.nl

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