See also: Emacs's old unexec() function. How do you speed up a bunch standard library lisp loading and initialization? Just do it once then write a new exe out with all your state pre-computed. Genius.
For a modern take on similar idea see also this discussion from a while ago:
"Improving startup time in Atom with V8 snapshots"
I was amazed that I never ran across another DOS program that used the technique.
Do you unfork then unexec or unexec then unfork?