I've been doing some experimentation in an environment that potentially benefits substantially from a native client, a Raspberry Pi. While not technically a "native" client, I've been able to get basically instantaneous tcp connections directly from the bash shell, and have tested with a small running java program over socket comms. After convincing myself that the concept works for small things, going against the complete Gradle application was the next step.
Empty project (no build.gradle) Gradle daemon startup - 54-62 secs Gradle "tasks" with JVM startup: 15-29 secs Gradle "tasks" with my simple ascii-based bash client: 4-8 secs Some of my testing gets a bit skewed because following the hacked-in pattern for the server side as found on the git native-client branch results in CloseInput objects getting returned from receive() by whatever is calling it basically as fast as it can and logging that output to the daemon log file. Not sure what I'm doing wrong there. The JVM is clearly not optimized for this platform given that 1.7.0_06 is the only version that works, and this is clear when running the latest groovysh that is significantly slower than working in a python shell. Clearly there is an up-front savings of several seconds, but I might have also convinced myself that things are just too heavy-weight in general to attempt to build with gradle directly on the Raspberry Pi itself, at which point I don't need a native client. I had really hoped to teach some kids Java/Groovy on some Raspberry Pi's, but I think I'm going to have to stick with Python and C/C++. -Spencer
