Home All Groups Group Topic Archive Search About

Force "pre-JIT" on idle thread?

Author
18 Aug 2006 2:18 AM
pdxfilter-google
We have a "heavyweight" Windows Forms app that uses several large
dependent DLLs containing various UI components.

There is a significant delay (~2 sec) when loading a form the first
time.  This comes from the CLR compiling the form methods as well as
any 3rd party controls we're using.

On startup, our app displays a login screen.  It would work out nicely
if the CLR could get a "head start" on the JIT process while this
screen is displayed.  In fact, we've had some luck starting a low
priority background thread that creates some common objects and calls a
few methods.  This allows enough "precompiling" to noticeably cut down
the initial display time of the form.

I'm very curious whether there is any better way to force the CLR to
JIT a particular class (or even entire assembly).  It's messy to
attempt to call methods in a haphazard way, trying to get "coverage".

NGEN is not workable for us, for a variety of reasons.

Any suggestions from CLR gurus would be appreciated, hack or not.
We're looking to make this app snappy.  Thanks!

Jon

Author
18 Aug 2006 8:01 AM
Vadym Stetsyak
Hello, pdxfilter-goo***@yahoo.com!

[skipped]

pg> Any suggestions from CLR gurus would be appreciated, hack or not.
pg> We're looking to make this app snappy.  Thanks!

Have a look at
( http://msdn.microsoft.com/msdnmag/issues/06/02/CLRInsideOut/ )

--
Regards, Vadym Stetsyak
www: http://vadmyst.blogspot.com
Author
18 Aug 2006 6:22 PM
pdxfilter-google
Vadym,

Thanks for the link.  We're actually fairly happy with the start-up
speed of our app.  The problem comes in when a complex form is
displayed requiring the loading and JIT of large, dependent assemblies.
The lag makes our app seem sluggish.  We're really looking for:

Assembly.JitItAllRightNow();

....or a way to accomplish substantially the same thing...

Jon

Show quote
> Have a look at
> ( http://msdn.microsoft.com/msdnmag/issues/06/02/CLRInsideOut/ )
>
> --
> Regards, Vadym Stetsyak
> www: http://vadmyst.blogspot.com
Author
18 Aug 2006 11:02 PM
Carl Daniel [VC++ MVP]
<pdxfilter-goo***@yahoo.com> wrote in message
news:1155925364.483323.87220@75g2000cwc.googlegroups.com...
> Vadym,
>
> Thanks for the link.  We're actually fairly happy with the start-up
> speed of our app.  The problem comes in when a complex form is
> displayed requiring the loading and JIT of large, dependent assemblies.
> The lag makes our app seem sluggish.  We're really looking for:
>
> Assembly.JitItAllRightNow();
>
> ...or a way to accomplish substantially the same thing...

I asked for the same thing ~2 years ago.  I'd suggest opening a suggestion
on Connect (http://connect.microsoft.com/feedback/default.aspx?SiteID=210).
Post a link to your suggestion here so that others may vote on it.

-cd
Author
21 Aug 2006 7:49 PM
pdxfilter-google
Carl,

Thanks for the link.  I've created an official "suggestion".  Anyone
who wants to vote for this can go to:

http://tinyurl.com/l9894

Jon

Carl Daniel [VC++ MVP] wrote:
Show quote
>
> I asked for the same thing ~2 years ago.  I'd suggest opening a suggestion
> on Connect (http://connect.microsoft.com/feedback/default.aspx?SiteID=210).
> Post a link to your suggestion here so that others may vote on it.
>
> -cd
Author
21 Aug 2006 8:12 PM
Carl Daniel [VC++ MVP]
<pdxfilter-goo***@yahoo.com> wrote in message
Show quote
news:1156189782.181525.22740@m79g2000cwm.googlegroups.com...
> Carl Daniel [VC++ MVP] wrote:
>>
>> I asked for the same thing ~2 years ago.  I'd suggest opening a
>> suggestion
>> on Connect
>> (http://connect.microsoft.com/feedback/default.aspx?SiteID=210).
>> Post a link to your suggestion here so that others may vote on it.
>
> Carl,
>
> Thanks for the link.  I've created an official "suggestion".  Anyone
> who wants to vote for this can go to:
>
> http://tinyurl.com/l9894
>
> Jon

Done.

-cd

AddThis Social Bookmark Button