I wonder if we cannot do more to try and intern all methods names? If
so then we could do direct == comparison. All method names coming
from parser are intern'd. Also all literal Java strings:
callMethod("foo")
are also intern'd. So the 10,000$ question is where aren't we
interning? Could intern'ing (which is likely to be more brittle) be
an approach to take?
-Tom
PS - I apologize in advance since I think I have had this conversation
before...I cannot remember the answer from last time we talked about
it.
On 6/28/07, dreamhead <[EMAIL PROTECTED]> wrote:
Hi!
This is dreamhead (one of core developers from XRuby) from
ThoughtWorks. I have been working on JRuby performance recently. I
just add RubyID into JRuby which is helpful to performance in XRuby.
RubyID is similar ID(long) in MRI which use ID to replace String to
reduce comparison cost.
id.txt is test results. There are two tests in it. One is
bench_method_dispatch.rb which Ola has posted in the mailing. The
other is Mingle tests. As you know, ThoughtWorks. runs Mingle on
JRuby. In the id.txt, id result is to use RubyID and string result is
current JRuby.
As you'll see, RubyID gives JRuby a minor improvement. Ola has got
these results, but both of us think it is difficult to decide whether
merge these code to JRuby codebase, because the change is large (from
evaluator/compiler to builtin) and the improvement is minor (1-2%).
What's your idea?
Ye Zheng
--
Everything is simple!
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
--
Blog: http://www.bloglines.com/blog/ThomasEEnebo
Email: [EMAIL PROTECTED] , [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email