3 ms·
That is very neat! I always thought about expanding that idea to most programming languages. Most of the startup time is probably spend stating and reading fil
by gandreani 8y ago
That is very neat! I always thought about expanding that idea to most programming languages. Most of the startup time is probably spend stating and reading files.
Just from a quick experiment
time python -c ''; time python -S -c ''
real 0m0.079s
user 0m0.021s
sys 0m0.030s
real 0m0.017s
user 0m0.007s
sys 0m0.007s
From the manpage:
-S Disable the import of the module site and the site-dependent manipulations of sys.path that it entails.
I also considered doing the same thing for a linux distro. Just out of pure curiousity to what would happen to the boot up times. Wish I could have time to try it one day :(
- namibj 8y agoWhat about going all the way and using an unikernel (or something approaching one)? Statically link suitable readonly data/code into a single global address space (to make use of optimizations possible by combining binaries, as apparent in e.g. busybox, and remove the overhead of code duplication and dynamic linking, if possible even skipping some overhead with syscalls, by allowing the compiler to reduce spilling registers to stack in an effort to prevent clobbering), and just make sensitive and modifiable data unavailable to or at least not writable by other/unprivileged processes. This would probably require some modification to GCC or LLVM, if the latter even supports building a normal Linux.
- gandreani 8y agoMadness! Or actually really similar to an idea that Joe Armstrong presented in Strange Loop one time (just the idea no demo or anything) https://www.youtube.com/watch?v=lKXe3HUG2l4 https://www.youtube.com/watch?v=lKXe3HUG2l4
- regularfry 8y agohttps://github.com/regularfry/carton https://github.com/regularfry/carton is where I got to. Might give someone some ideas.