Hey Guys, I've been looking at ways to speed up Toree's startup and came up with a quick proof of concept that took the startup time from around 6.5 seconds to 5.5 seconds on my laptop. I'd like to check committer interest in this before I go any further. This change will require rearranging the KernelBootstrap class.
My proof of concept is simple, I saw that the slowest part of startup was starting the Scala interpreter, so I ripped that out, moved it to its own thread, and started it very early in the bootstrap process. This way while it runs the rest of the kernel bootstrap can continue. I did this in a hacky way just to see if it would work. It would need to be implemented for real. I tested the startup time by setting up a test harness that just runs the kernel bootstrap and times it. I used YourKit to profile the application and see what was taking the most time. Here are the results from my tests. Time is in seconds. run original changed 1 6.876 5.2 2 6.445 5.8 3 6.527 5.7 4 6.676 5.4 avg 6.631 5.525 If you guys think this is a reasonable approach let me know and i will make a ticket and work on implementing it for real. I think this speedup will work nicely with the changes proposed in TOREE-444 also. Thanks Brad Kaiser
