apricot-lang / apricot

Clojure-like Lisp on Rubinius
94 stars 7 forks source link

Bytecode caching (with dependency checking) #44

Closed solson closed 11 years ago

solson commented 11 years ago

Apricot should do this, just like Rubinius saves the bytecode it generates from a file so it doesn't have to recompile again until the file is changed. Most of the start up time in Apricot is in compiling the core library, so it could be a lot faster if this was cached.

Note that Apricot's bytecode caching will be slightly more complicated than Rubinius' because in Apricot if file A uses a macro from file B then A must be recompiled also if B changes.

solson commented 11 years ago

Bytecode caching was added by fe75813. Startup time is reduced from 1.6 seconds to 0.8 seconds on my machine.

Dependency checking is not done.