jumpstart -- run with shared libraries already loaded

John Reiser
BitWagon Software LLC
jreiser BitWagon com
September 4, 2007

http://BitWagon.com/jumpstart/jumpstart.html
http://BitWagon.com/jumpstart/jumpstart-0.3.tgz (24KB; GPLv2)

jumpstart is a performance hack for Linux/x86 that runs an application with shared libraries already loaded. The executable file is started, then stopped after the runtime loader ld-linux.so.2 has mapped the shared libraries, but before any application code has run. The libraries loaded are those reported by ldd. Then the process acts as a server: Read a task description from a named pipe (fifo), then execute the task in a separate fork() child. A task description is the commandline arguments and environment variables that another instance of jumpstart (the client) communicates to the server. The client jumpstart process waits for the termination of the server's fork()ed child, then exits with the same status code. Performance improves if a fork() with the shared libraries present is faster than setting up the shared libraries in the first place.