Did you try using aset-int instead of aset?

On Tue, Mar 31, 2009 at 8:25 AM, Vincent Foley <vfo...@gmail.com> wrote:

>
> For those interested, I managed to improve the performance of my
> original program from 2 minutes 40 seconds to decode 1000+ files down
> to 2 minutes.  I'm still far from my goal, but it's an improvement,
> especially since the code is shorter and (IMO) cleaner.  You can see
> it here:
> http://bitbucket.org/gnuvince/clj-starcraft/src/tip/src/starcraft/replay/parse.clj
>
> And here's another question, running the program with -Xprof shows
> that nearly 20% of my execution time is spent calling
> java.lang.reflect.Array.set.  Is there something wrong with the way I
> type hint my array in make-reader?
>
> Thanks,
>
> Vincent.
>
> On Mar 19, 8:12 pm, Vincent Foley <vfo...@gmail.com> wrote:
> > Hello,
> >
> > For the past few days, I've been trying, unsuccessfully, to make an
> > application I wrote faster.  A Java program that performs, more or
> > less, the same task takes 12 seconds (on my machine) to parse 1000
> > files; my Clojure program takes nearly 3 minutes.  This more than an
> > order of magnitude slower!  Using the profiling tools available with
> > the JVM, I quickly determined which function was the costliest.  I
> > copied it into a simple script file to profile it in isolation.  I
> > have made the script and the profile results (long!) available at this
> > URL:http://gist.github.com/82136
> >
> > I'm finding the results puzzling: is dereferencing a var *that*
> > expensive?  Can anyone tell me if they see something fundamentally
> > wrong with my approach that would explain this abysmal performance?
> >
> > Thank you,
> >
> > Vincent.
> >
> > P.S.: I am using Sun's JVM 1.6.0_10 as shipped in Ubuntu Ibex.  My
> > machine is an Athlon 64 X2 4200+ with 3 GB of RAM.
> >
>

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