Almost certainly the problem is expansion time. If I run that program on my machine, it takes about 200 ms. But if I compile the file to zo first with `raco make`, then it takes about 40 ms, basically identical to `racket/base`.
Sam On Tue, Nov 24, 2020 at 9:39 AM Nate Griswold <[email protected]> wrote: > > Oops, i am having some issues with not getting to the list from my other > email address. Here is a reply i sent for the record. > > --- > > Thank you, Matthew. > > The following code takes around 250ms on my machine. Any idea why? I was > expecting it to be fast since the module is based on racket/base. > > #lang racket/base > > (require syntax/location) > (require racket/place) > > > > (module test racket/base > (provide place-main) > racket > (define (place-main pch) > (void))) > > (time (place-wait (dynamic-place (quote-module-path test) 'place-main))) > > Nate > > > On Tue, Nov 24, 2020 at 8:35 AM Nathaniel W Griswold <[email protected]> > wrote: >> >> Thank you, Matthew. >> >> The following code takes around 250ms on my machine. Any idea why? I was >> expecting it to be fast since the module is based on racket/base. >> >> #lang racket/base >> >> (require syntax/location) >> (require racket/place) >> >> >> >> (module test racket/base >> (provide place-main) >> racket >> (define (place-main pch) >> (void))) >> >> (time (place-wait (dynamic-place (quote-module-path test) 'place-main))) >> >> Nate >> >> On Nov 24, 2020, at 8:16 AM, Matthew Flatt <[email protected]> wrote: >> >> The bottleneck for place startup is loading modules into the new place, >> including modules like `racket/base`. >> >> For example, >> >> (place-wait (dynamic-place 'racket 'void)) >> >> takes around 200ms on my machine, while >> >> (place-wait (dynamic-place 'racket/base 'void)) >> >> takes around 30ms and >> >> (place-wait (dynamic-place 'racket/kernel 'void)) >> >> takes around 10ms. >> >> It sounds like you're already aware that the complexity of the module >> loaded into a place matters, though. Beyond using a minimal set of >> modules, I don't have any way to make place startup faster. >> >> Matthew >> >> At Tue, 24 Nov 2020 05:04:19 -0600, Nate Griswold wrote: >> >> Is there any way to make places startup faster? Even if i do an explicit >> round trip using place-channel-put and place-channel-get on both sides, it >> takes on the order of centiseconds for near empty places to start up. >> >> My program requires the threads for a couple places to be set up before it >> can operate, so this impacts my startup time by quite a bit. >> >> I have one place that has a very simple module and one place with a more >> complicated module. Is there some sequence that i should do things in for >> the minimal startup time? It seems nothing i do really helps much. >> >> Nate >> >> -- >> 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 [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/racket-users/CAM-xLPpvfCHHDDpfNmuTWQOyfYfEJ7v >> m1c_dS7nj3FxaEFVm2Q%40mail.gmail.com. >> >> > -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/CAM-xLPqtJrem4j%3DUi3fbrduoahsXCNNA2JPuB0Tt9dissiu5KA%40mail.gmail.com. -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAK%3DHD%2BY%2BEdpHVg8-AR4SHrLwNF2uZ6nBNpaCTwDx7NaFWpDprw%40mail.gmail.com.

