Re: [racket-users] Reducing Program Startup Time

2016-12-06 Thread Jens Axel Søgaard
Time to add a splash screen to distract from the pause!

/Jens Axel


2016-12-06 7:19 GMT+01:00 Lehi Toskin :

> On Monday, December 5, 2016 at 2:51:26 PM UTC-8, Dan Liebgold wrote:
> > Ok, those tests aren't particularly illumating (at least they were easy!)
> >
> > Is your Racket distribution on a local drive?  Network performance can
> make a big difference.
> >
>
> The Racket distribution I'm using is on my local drive.
>
> I'm beginning to think that this is just how things are with regard to the
> current state of Racket.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
-- 
Jens Axel Søgaard

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Reducing Program Startup Time

2016-12-05 Thread Lehi Toskin
On Monday, December 5, 2016 at 2:51:26 PM UTC-8, Dan Liebgold wrote:
> Ok, those tests aren't particularly illumating (at least they were easy!)
> 
> Is your Racket distribution on a local drive?  Network performance can make a 
> big difference.
> 

The Racket distribution I'm using is on my local drive.

I'm beginning to think that this is just how things are with regard to the 
current state of Racket.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Reducing Program Startup Time

2016-12-05 Thread Dan Liebgold
Ok, those tests aren't particularly illumating (at least they were easy!)

Is your Racket distribution on a local drive?  Network performance can make a 
big difference.

We've also found that the minimal Racket distribution can be quite a bit 
quicker when pulling in packages outside the main collects directory  
there's racket code that enumerates files and the main distribution installs 
thousands of files you may not need. Even local SSD file systems have a 
noticeable lag doing that.




On Monday, December 5, 2016 at 2:25:24 PM UTC-8, Lehi Toskin wrote:
> These first two tests are with the lazy-require code.
> 
> If I add '-c':
> $ time racket -c -- main.rkt -V
> Ivy 1.2
> 
> real  2m17.134s
> user  2m13.646s
> sys   0m2.394s
> 
> With '-j':
> $ time racket -j -- main.rkt -V
> Ivy 1.2
> 
> real  0m4.369s
> user  0m2.851s
> sys   0m0.155s
> 
> 
> These next two tests are with the usual require.
> 
> With '-c':
> $ time racket -c -- main.rkt -V
> Ivy 1.2
> 
> real  3m58.587s
> user  3m53.370s
> sys   0m5.080s
> 
> With '-j':
> $ time racket -j -- main.rkt -V
> Ivy 1.2
> 
> real  0m2.645s
> user  0m2.526s
> sys   0m0.115s

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Reducing Program Startup Time

2016-12-05 Thread Lehi Toskin
On Monday, December 5, 2016 at 12:08:12 PM UTC-8, Dan Liebgold wrote:
> Are you sure you have up to date .zo files for all your .rkt files?
> 
> How's the timing if you add '-c' to your Racket commandline?  How about '-j'?
> 

These first two tests are with the lazy-require code.

If I add '-c':
$ time racket -c -- main.rkt -V
Ivy 1.2

real2m17.134s
user2m13.646s
sys 0m2.394s

With '-j':
$ time racket -j -- main.rkt -V
Ivy 1.2

real0m4.369s
user0m2.851s
sys 0m0.155s


These next two tests are with the usual require.

With '-c':
$ time racket -c -- main.rkt -V
Ivy 1.2

real3m58.587s
user3m53.370s
sys 0m5.080s

With '-j':
$ time racket -j -- main.rkt -V
Ivy 1.2

real0m2.645s
user0m2.526s
sys 0m0.115s

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Reducing Program Startup Time

2016-12-05 Thread Dan Liebgold
Are you sure you have up to date .zo files for all your .rkt files?

How's the timing if you add '-c' to your Racket commandline?  How about '-j'?

On Sunday, December 4, 2016 at 4:11:51 PM UTC-8, Lehi Toskin wrote:
> ...

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Reducing Program Startup Time

2016-12-04 Thread Lehi Toskin
Dupéron Georges I did what you suggested and placed a displayln at the 
beginning. There's a wait time between when I execute the program and then 
everything happens all at once - the displayln occurs at the same time as when 
the GUI spawns.

> On Sunday, December 4, 2016 at 10:05:23 AM UTC-8, Matthias Felleisen wrote:
> 
> Also consider lazy require.

That actually seems to make it run slower.

$ time ./ivy -V
Ivy 1.2

real0m2.414s
user0m2.288s
sys 0m0.119s

versus

$ time /usr/bin/ivy -V
Ivy 1.2

real0m1.955s
user0m1.796s
sys 0m0.147s

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Reducing Program Startup Time

2016-12-04 Thread Matthias Felleisen


> On Dec 3, 2016, at 9:40 PM, Dupéron Georges  
> wrote:
> 
> A few ideas:
> 
> 1) Loading a lot of modules can be slow. You are already avoiding that by 
> using racket/base and racket/gui/base, so that's good, but it already takes 
> me 0.5s just to require these :-( . I don't know it there is much to do about 
> this.


Also consider lazy require. 

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] Reducing Program Startup Time

2016-12-02 Thread Lehi Toskin
I have a GUI program (located here, for reference: 
https://github.com/lehitoskin/ivy.git ) I'm working on and I've found that the 
time it takes to go from clicking on the binary (or calling from CLI) to 
getting a fully loaded window takes about 2.5 ~ 3 seconds. What I would like is 
to get it down to 1 ~ 1.5 seconds. Now, I've done some more obvious things like 
using racket/base and racket/gui/base and calling require on every specific 
package I use, but it seems that isn't enough to get the startup times where I 
want them.

Are there any other obvious or generalized steps I could do that might help? 
Perhaps moving some code into expansion instead of runtime (not exactly sure 
what or how to do that, though)?

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.