Charles Oliver Nutter created JRUBY-6299:
--------------------------------------------
Summary: Slow perf in String#split or #join on 1.9 mode
Key: JRUBY-6299
URL: https://jira.codehaus.org/browse/JRUBY-6299
Project: JRuby
Issue Type: Bug
Components: Performance, Ruby 1.9.2, Windows
Affects Versions: JRuby 1.6.5, JRuby 1.7
Reporter: Charles Oliver Nutter
On the benchmark provided here:
http://kzalewski.blogspot.com/2011/12/next-na-kazdym-znaku-stringa.html
JRuby is slower on the split_map_join part of the bench. On Windows the effect
appears to be even more pronounced.
We are also a bit slower on the gsub part.
Here's my results on OS X:
{noformat}
system ~/projects/jruby $ jruby --1.9 bench.rb
Rehearsal ------------------------------------------------------------
each_char_next (1000): 0.498000 0.000000 0.498000 ( 0.498000)
each_next! (1000): 0.114000 0.000000 0.114000 ( 0.114000)
split_map_join (1000): 0.111000 0.000000 0.111000 ( 0.111000)
gsub (1000): 0.096000 0.000000 0.096000 ( 0.096000)
each_next! (10000): 0.126000 0.000000 0.126000 ( 0.126000)
split_map_join (10000): 0.233000 0.000000 0.233000 ( 0.233000)
gsub (10000): 0.127000 0.000000 0.127000 ( 0.127000)
each_next! (100000): 1.710000 0.000000 1.710000 ( 1.710000)
split_map_join (100000): 3.793000 0.000000 3.793000 ( 3.793000)
gsub (100000): 1.130000 0.000000 1.130000 ( 1.130000)
--------------------------------------------------- total: 7.938000sec
user system total real
each_char_next (1000): 0.146000 0.000000 0.146000 ( 0.146000)
each_next! (1000): 0.006000 0.000000 0.006000 ( 0.006000)
split_map_join (1000): 0.009000 0.000000 0.009000 ( 0.009000)
gsub (1000): 0.010000 0.000000 0.010000 ( 0.010000)
each_next! (10000): 0.099000 0.000000 0.099000 ( 0.099000)
split_map_join (10000): 0.141000 0.000000 0.141000 ( 0.141000)
gsub (10000): 0.105000 0.000000 0.105000 ( 0.105000)
each_next! (100000): 1.515000 0.000000 1.515000 ( 1.515000)
split_map_join (100000): 3.899000 0.000000 3.899000 ( 3.899000)
gsub (100000): 1.688000 0.000000 1.688000 ( 1.688000)
system ~/projects/jruby $ ruby1.9.2 bench.rb
Rehearsal ------------------------------------------------------------
each_char_next (1000): 0.020000 0.000000 0.020000 ( 0.016834)
each_next! (1000): 0.020000 0.000000 0.020000 ( 0.019414)
split_map_join (1000): 0.020000 0.000000 0.020000 ( 0.018183)
gsub (1000): 0.010000 0.000000 0.010000 ( 0.015121)
each_next! (10000): 0.180000 0.010000 0.190000 ( 0.187187)
split_map_join (10000): 0.170000 0.000000 0.170000 ( 0.173868)
gsub (10000): 0.150000 0.000000 0.150000 ( 0.145752)
each_next! (100000): 1.790000 0.080000 1.870000 ( 1.864269)
split_map_join (100000): 1.790000 0.040000 1.830000 ( 1.833273)
gsub (100000): 1.430000 0.050000 1.480000 ( 1.476321)
--------------------------------------------------- total: 5.760000sec
user system total real
each_char_next (1000): 0.010000 0.000000 0.010000 ( 0.015748)
each_next! (1000): 0.020000 0.000000 0.020000 ( 0.017694)
split_map_join (1000): 0.020000 0.000000 0.020000 ( 0.017105)
gsub (1000): 0.020000 0.000000 0.020000 ( 0.014360)
each_next! (10000): 0.170000 0.000000 0.170000 ( 0.164094)
split_map_join (10000): 0.170000 0.010000 0.180000 ( 0.171303)
gsub (10000): 0.140000 0.000000 0.140000 ( 0.140985)
each_next! (100000): 1.770000 0.020000 1.790000 ( 1.786688)
split_map_join (100000): 1.670000 0.040000 1.710000 ( 1.708062)
gsub (100000): 1.380000 0.010000 1.390000 ( 1.383414)
{noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.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