Reason of groovy's very long startup time (compared to other interpreted languages) is that is has to fire up a JVM for every groovy
-command.
You might want to look into GroovyServ. What this does is running a daemon with a JVM in the background the first time you start it. Subsequent calls of groovyclient
then use this JVM instead. It promises to be "10 to 20 times faster than regular Groovy".