Investigate ways to reduce the cost of RubyProc.call wrt block cloning
----------------------------------------------------------------------

                 Key: JRUBY-3463
                 URL: http://jira.codehaus.org/browse/JRUBY-3463
             Project: JRuby
          Issue Type: Bug
          Components: Performance
            Reporter: Charles Oliver Nutter
             Fix For: JRuby 1.3


For JRUBY-3451 I had to revert a performance fix that impacted calling procs 
across threads. There's a performance degradation, because it will now have to 
clone the source block for every call, but I could not see a simple way to fix 
it in the short term.

A few ideas:

* Save the original thread ID, so that we only clone when called from another 
thread
* Save one binding and lock against it when calling, but if other threads 
encounter it locked they use a cloned copy instead. This would be a more 
general fix, but would also introduce locking cost to every call.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to