On Thu, Apr 9, 2009 at 3:17 PM, Rich Hickey <richhic...@gmail.com> wrote:
> On Apr 9, 8:03 am, "Remco van 't Veer" <rwvtv...@gmail.com> wrote: >> On Thu, Apr 9, 2009 at 1:23 PM, Onorio Catenacci <catena...@gmail.com> wrote: >> > [..] >> >> > I know you were mentioning some real performance issues when starting >> > a Clojure app from Android (I see them too). I wonder if using >> > TraceView to profile the Dalvik code generated by the conversion from >> > the Clojure bytecode might point us to something to fix the startup >> > time? I'll try this myself--I just thought I might ask you if you'd >> > already done this and if it were a waste of time or not. :-) >> >> I've used the mentioned profiler and I did some performance tweaks >> already, thus the clojure fork on github. > > Is that still needed after: > > http://code.google.com/p/clojure/issues/detail?id=78 Yes, the fork has two extra tweaks in place and a workaround for dalvik. A blocker for dalvik is issue 77; http://github.com/remvee/clojure/commit/7c110dc00895dea8e583e122acc6423b7e812b12 Reflection is very slow on dalvik. To speedup type-hint-less code I've build some caching around Reflection.getMethods: http://groups.google.com/group/clojure/browse_thread/thread/d3802c761ffbef69/9d06c1e420969b2d And a later commit to use ConcurrentHashMap: http://github.com/remvee/clojure/commit/07459a61bbc35c093ee5d1b6e643b84e79feab5c Another tweak I did is not loading set, zip and xml implicitly: http://github.com/remvee/clojure/commit/431fb254327ed72a2db17999f6fc9c11eef40d88 That saves of another couple of seconds. If you'd want to use it you need to require/load it first. Remco --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---