Running ruby script from my own .NET code is slow

Hi all!

Why it is ~5 times slower to run the same .rb script from my .NET
application (using ScriptEngine and ScriptRuntime) classes, than doing
the
same with ir.exe?
When I downloaded IronRuby source, and compiled ir.exe (Ruby.Console),
it
was 2 times slower, than ir.exe in released binaries. (But still 3 times
faster than running scripts from my own application)

Any ideas, what is behind these differences?

Can you give an example of what script it is and how you exactly run it
from the .NET app?

Tomas

From: [email protected]
[mailto:[email protected]] On Behalf Of Anton F.
Sent: Sunday, September 12, 2010 4:18 PM
To: [email protected]
Subject: [Ironruby-core] running ruby script from my own .NET code is
slow

Hi all!

Why it is ~5 times slower to run the same .rb script from my .NET
application (using ScriptEngine and ScriptRuntime) classes, than doing
the same with ir.exe?
When I downloaded IronRuby source, and compiled ir.exe (Ruby.Console),
it was 2 times slower, than ir.exe in released binaries. (But still 3
times faster than running scripts from my own application)

Any ideas, what is behind these differences?

Here is the code:
http://paste.dprogramming.com/dpk25ghd
(It’s just a dummy speed test)

I tried several ways to call it:
runtime = Ruby.CreateRuntime();
engine = Ruby.GetEngine(runtime);

#than
engine.ExecuteFile(“test.rb”);
#or
engine.CreateScriptSourceFromFile(“lib.rb”).Execute()
#or
CompiledCode code =
engine.CreateScriptSourceFromFile(“test.rb”).Compile();
code.Execute();

Actually they all give the same results…

2010/9/13 Tomas M. [email protected]

Hi,

I still have this performance problem. I think there must be a reason,
and
it could be solved somehow. Really no ideas?

Anton

2010/9/13 Anton F. [email protected]