Hi,
yesterday I was testing the json library under IronRuby and,
comparisons with other implementations aside, I noticed that the
"pure" variant performs so bad under IronRuby that it just doesn't
feel normal at all. This is the result for my test with a ~500KB JSON
file parsed under IronRuby 1.1.0 (.NET 4):
C:\IronRuby\v1.1.0>ir json_speed.rb pure
Rehearsal ------------------------------------
474.906250 39.421875 514.328125 (394.262696)
------------------------- total: 514.328125sec
user system total real
482.531250 43.140625 525.671875 (384.509766)
Here is the full gist with also the results for the same test run
using other implementations (JRuby 1.5 and the latest MRI 1.8.6):
http://gist.github.com/498997
I haven't figured yet where the bottleneck is, and the fact that it's
slower on the second run makes things even weirder since the cold
execution overhead shouldn't be there anymore. Any idea about why is
it so slow?
--
Daniele Alessandri
http://clorophilla.net/
http://twitter.com/JoL1hAHN
on 2010-07-30 13:11
on 2010-07-30 22:11
I've narrowed the problem down. It's somewhere in the StringScanner.Match method (probably inside RubyRegex.Match). The next IR code (I've put in on pastebin) results with the same performance problem where MRI is about 100 (!) times faster than IronRuby: http://pastebin.com/cc9FvUfz. Shay.
on 2010-07-30 22:35
Great work. Could you file a bug so that we track this perf issue?
Tomas
From: ironruby-core-bounces@rubyforge.org
[mailto:ironruby-core-bounces@rubyforge.org] On Behalf Of Shay Friedman
Sent: Friday, July 30, 2010 12:37 PM
To: ironruby-core@rubyforge.org
Subject: Re: [Ironruby-core] Performance issues with json_pure under
IronRuby
I've narrowed the problem down. It's somewhere in the
StringScanner.Match method (probably inside RubyRegex.Match).
The next IR code (I've put in on pastebin) results with the same
performance problem where MRI is about 100 (!) times faster than
IronRuby: http://pastebin.com/cc9FvUfz.
Shay.
On Fri, Jul 30, 2010 at 2:03 PM, Daniele Alessandri
<suppakilla@gmail.com<mailto:suppakilla@gmail.com>> wrote:
Hi,
yesterday I was testing the json library under IronRuby and,
comparisons with other implementations aside, I noticed that the
"pure" variant performs so bad under IronRuby that it just doesn't
feel normal at all. This is the result for my test with a ~500KB JSON
file parsed under IronRuby 1.1.0 (.NET 4):
C:\IronRuby\v1.1.0>ir json_speed.rb pure
Rehearsal ------------------------------------
474.906250 39.421875 514.328125 (394.262696)
------------------------- total: 514.328125sec
user system total real
482.531250 43.140625 525.671875 (384.509766)
Here is the full gist with also the results for the same test run
using other implementations (JRuby 1.5 and the latest MRI 1.8.6):
http://gist.github.com/498997
I haven't figured yet where the bottleneck is, and the fact that it's
slower on the second run makes things even weirder since the cold
execution overhead shouldn't be there anymore. Any idea about why is
it so slow?
--
Daniele Alessandri
http://clorophilla.net/
http://twitter.com/JoL1hAHN
on 2010-07-30 22:47
Done - http://ironruby.codeplex.com/workitem/4966 Shay. On Fri, Jul 30, 2010 at 11:17 PM, Tomas Matousek <
on 2010-07-31 18:43
Just added a comment on the bugtracker for this issue, it seems like the /n modifier in the regexp is the cause of the abnormal slow down. On Fri, Jul 30, 2010 at 22:41, Shay Friedman <shay.friedman@gmail.com> wrote: >> >> >> >> yesterday I was testing the json library under IronRuby and, >>    user   system    total     real >> >> > http://rubyforge.org/mailman/listinfo/ironruby-core > > -- Daniele Alessandri http://clorophilla.net/ http://twitter.com/JoL1hAHN
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.