I probably did. It's QUITE flexible, but out of the box it can provide an nice tree of calls with execution times and hot-spot identification.
FYI, our biggest performance complaint *appears* to be startup. It's quiet possible that it's because we include so many java classes, but we have what appear to be really slow startup times. David On Wednesday 29 March 2006 09:48, Thomas E Enebo wrote: > This seems to be the right time to mutate the thread into a favorite > java profiler thread....Anyone have any recommendations? I think last > time David mentioned JRat. > > -Tom > > On Tue, 28 Mar 2006, Charles O Nutter defenestrated me: > > This is an experimental patch to remove the creation of > > "InstructionBundle" objects for each node encountered in the AST. The > > InstructionBundle was originally added to support the iterative > > algorithm for handling branch events like next, break, rescue, and so > > on. An InstructionBundle is created each time a node is encountered, > > and holds the node, the instruction to execute against it, and a > > number of flags indicating whether this node should be the target of > > one of those interpreter events. > > The idea behind this patch was to start narrowing down exactly where > > our biggest interpreter performance issues come from. One possible > > cause for things running a bit slower in recent months was obviously > > the creation of all those InstructionBundle objects. However, removing > > their creation and going back to two separate stacks for instructions > > and nodes (instruction contexts) actually caused it to slow down more > > than it sped up...by about 10% in one algorithm I ran. This would > > indicate that the extra overhead of managing a second stack for every > > Ruby method invocation is a greater cost than creating many > > InstructionBundle instances managed in a single stack. > > This continues to point toward the benefits a compiler or a > > "pre-evaluator" would give us. By either compiling the Ruby code down > > to static lists of instructions we would eliminate the current > > "instruction stack" model completely, lowering the per-node overhead > > in the interpreter. We would also have the option of potentially > > combining multiple instructions into a single interpreter loop. > > Anyway, the patch is attached for your edification. It's not something > > I'm planning to commit, but it is demonstrative anyway. > > -- > > Charles Oliver Nutter @ [1]headius.blogspot.com > > JRuby Developer @ [2]jruby.sourceforge.net > > Application Architect @ [3]www.ventera.com > > > > References > > > > 1. http://headius.blogspot.com/ > > 2. http://jruby.sourceforge.net/ > > 3. http://www.ventera.com/ ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Jruby-devel mailing list Jruby-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jruby-devel