Some (educated
) guesses... During a 'normal start', contentlister starts a shell to run a script (run.sh), which starts your app. When using the registry, contentlister does a fork(), followed by an execvp() of your application (no shell involved). With execvp() lots of process resources (such as open files) are kept open. It could be (not sure about this) that shared libraries are still attached to the process causing the new excutable to load (= dynamic linking) faster.
EDIT 18 nov: this is probably not correct?
PS: This gives me a cool idea: if I add the Lua interpreter to contentlister (I've been planning this for a long time), and 'preload' lgob (including the gtk libs, which is already available in contenlister), then it should be possible to start Lua apps and tools very quickly...
A Lua enabled contentlister would also be much easier to modify / extend...