I updated arc-exe.scm (the arc standalone exe) on the git. It is now faster on startup : 1.2 s to get the prompt, vs 2.3 previously (on my machine). The previous startup procedure was the following : 1. load arc.arc and libs 2. transform arc code to scheme code 3. compile scheme code to bytecode 4. evaluate bytecode Step 2 and 3 are quite expensive and never change from one execution to another. That's why I compiled code from arc.arc and the libs to mzscheme bytecode and saved this bytecode in arc.arcc. Now, only arc.arcc has to be loaded (only steps 1 and 4). This is not perfect, but it is a little better. As a side effect, it is now possible to compile and/or run your own code this way: - "arc-exe" gives you the prompt (default behavior) - "arc-exe foo.arc" runs the code from foo.arc and exits (no prompt) - "arc-exe -cc foo.arc" runs the code from foo.arc, compiles it, prints the result on stdout (a bad thing, I know) and exits - "arc-exe -lc foo.arcc" runs the bytecode saved in foo.arcc and exits These behaviors will seem familiar to Python users. Note that compilation only speeds up startup (just for big files actually) as you don't have to compile the code everytime. But once loaded, compiled code is as fast as raw code. |