Re: [racket-users] (dynamic-require) performance problem

2018-02-12 Thread Dmitry Pavlov
Matthew, I can imagine a problem where the "language implementation" is in the reader, in which case it wouldn't get run when loading from bytecode, but that doesn't explain why `racket ` works --- unless the initialization is also triggered by a `main` or `configure-runtime` submodule, which

Re: [racket-users] (dynamic-require) performance problem

2018-02-12 Thread Dmitry Pavlov
Does the port `p` contain the source text for , or does it contain the bytecode from the ".zo" file created by `raco make ? In this dedicated test, just the source text of and nothing else. I think this is the main cause of the performance difference, but just to make sure, does raco

Re: [racket-users] (dynamic-require) performance problem

2018-02-12 Thread Dmitry Pavlov
Matthew, I'm not clear on why you're using `require-input-port` here instead of `dyanmic-require` with 's path. Originally, I needed it to prepend "#lang " to the source because I did not have it in the file. That requirement is not so strict now and I will be able to lift it if it is

Re: [racket-users] (dynamic-require) performance problem

2018-02-12 Thread Matthew Flatt
At Mon, 12 Feb 2018 15:55:44 +0300, Dmitry Pavlov wrote: > I measure the time taken to execute a program in two different ways: > > 1. raco make ; time racket > > 2. raco make my-runner.rkt; raco make ; time racket my-runner.rkt > > > [...] > > To load it dynamically in my-runner.rkt, I use