After finding on the fast-boot-preloading branch that the experiment worked out: delaying access to the reflection API in order to save performance worked!
Comparing the branch performance of loading ABCL on Google App Engine to the trunk, the trunk took rougly 19 seconds to load (theoretical performance) while the branch only took 11 seconds.
Seeing this benefit, I decided to merge the code back to trunk once the branch was stable enough. Today was that moment: I found the last reason the branch was failing the ANSI tests (I needed to increase the runtime stack). Given this status, the merge of the branch to the trunk just got committed.
The work isn't fully done though: 1. The same approach can be implemented for macro-functions 2. Functions loaded through EVAL-WHEN during file compilation can be addressed the same way
Anybody with time to help out on either is heartily invited to join the effort and see how much compile time and boot time can be saved.
With kind regards,
Erik.