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/



-- 
+ http://www.tc.umn.edu/~enebo +---- mailto:[EMAIL PROTECTED] ----+
| Thomas E Enebo, Protagonist  | "Luck favors the prepared    |
|                              |  mind." -Louis Pasteur       |


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

Reply via email to