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):
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):
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?
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.
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 A.
<[email protected]mailto:[email protected]> 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):
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):
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?