Some generate C code with
B::C with a lot of stuff initialized in the
BEGIN block, then compile it. I've only played with it so YMMV. What does this give you? Assuming your start up time is related to local initializations (variables, loading file contents, etc); then it'll allow you to compile an executable that has already done all the stuff you shove in
BEGIN
If the start up is due to network related things or truly dynamic things, then it that won't help you. You only option is to daemonize it. I can't recommend any from personal experience, but there are a few modules on metacpan to choose from for this. And if SpeedCGI is the same thing as speedy, then yes it is ancient and probably best to avoid.
Another option that comes to mind is starman.