On May 31, 9:24 pm, Jürg Lehni <[email protected]> wrote: > Hannes, > > Do you have any news about these optimisations? I am curious to hear how the > work progresses.
I haven't done a lot since my last post. From the microbenchmarks I've done (see wiki page) it looks like replacing hashed property lookup with direct java field or method access has the biggest potential, so this is the route I'll probably follow. Besides using java fields for the function activation object (which works well except for "eval"), a similar (slightly less aggressive) approach could be used in other areas: - The global object - Standard methods in core objects - Object literals - Objects initialized in a constructor function For all these cases, the idea is to have "reserved slots" for well- known properties that are accessible both via normal hash lookup and directly as a java field. Java bytecode generated for the script can then simply check if an object is an instance of that specific class and use the fast property access method if so, else fall back to the generic property access. I've done some tests in that direction and they looked promising. I hope to resume working in that direction soon. > I just came across this post here about similar efforts for JRuby and thought > maybe some of the points risen could be of interest for your work: > > http://blog.headius.com/2010/05/kicking-jruby-performance-up-notch.html I'm sure I've read this at one time, but can't quite remember what it specifically was about :) Hannes > Juerg > > On 5 May 2010, at 23:13, Hannes Wallnoefer wrote: > > > On May 5, 2:20 pm, Hannes Wallnoefer <[email protected]> wrote: > > >> I renamed the github repository to rhino-opt, so the overview wiki > >> page is now at > > >>http://wiki.github.com/hns/rhino-opt/ > > >> I also started a new "companion-scopes" branch to speed up closures > >> which is looking very good on microbenchmarks: > > >>http://gist.github.com/390702 > > >> Unfortunately it currently won't run v8-benchmark, but I'm working on > >> it. > > > It does now. Performance increase is somewhere around 20 percent, > > which seems ok considering that v8-benchmark is not exactly closure- > > heavy. I think I'll look at globals and standard object prototypes > > next. > > > _______________________________________________ > > dev-tech-js-engine-rhino mailing list > > [email protected] > >https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino _______________________________________________ dev-tech-js-engine-rhino mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino
