We do in fact compile hot code on background thread while interpreting
it on main thread.
Are IronRuby and DLR binaries NGEN’d (or whatever is ahead-of-time
compilation called on Mono)? Could you try it on Windows with .NET4 to
see if there is any difference?
Compilation threshold is read-only. It’s only meant to be changed for
debugging and benchmarking purposes. Not to make some app faster or
slower.
I can’t help much without seeing the exact code that you are
running/requiring.
Tomas
From: [email protected]
[mailto:[email protected]] On Behalf Of Rodrigo
Kumpera
Sent: Saturday, May 15, 2010 8:05 AM
To: [email protected]
Subject: Re: [Ironruby-core] What’s next?
Maybe what you need is background compilation/preparation, which could
reduce initial execution by going straight to JIT’d code without having
to wait for compilation.
On Fri, May 14, 2010 at 10:46 PM, Martin Smith
<[email protected]mailto:[email protected]> wrote:
Hi Tomas,
So all of the dialogs in our application are built using IR. The first
time any dialog is used there’s probably a second or two delay, then
there’s probably a half second (or maybe a bit less) delay each time a
new dialog is required for the first time. I’ve thought about doing
all of this on a secondary thread at startup, but that would require
“unwinding” our code a bit. Presumably we could just require all the
dialog ruby code when we fire up the app. This would probably work
and would potentially take a few seconds.
Right now, our application is deployed via mono on the mac, so we’re
using the .net 2.0 sp1 binaries and they’re just sitting there
alongside our binaries. We’re still deciding about whether we’ll go
with .NET 2.0 sp1 or .NET 4 for our next PC version and will use the
IR binary for the framework version we decide on. I would say we’re
not “requiring” (in the ruby sense of the word) anything too exotic,
just a bunch of ruby files at runtime. We use a small subset of the
standard library.
Do you know what happens if I change the compilation threshold while
running, btw?
Seriously, i cant thank you guys enough for the great work you do.
Martin
On Wed, May 12, 2010 at 1:00 PM, Tomas M.