Note that there are some explanatory texts on larger screens.

plurals
  1. POWhat are the advantages and disadvantages of using Nailgun vs netcat to provide fast CLI to a Java application?
    primarykey
    data
    text
    <p>The ways to reduce startup time of Java and Scala applications have been already discussed <a href="https://stackoverflow.com/questions/4021566/is-there-a-way-to-reduce-startup-time-of-a-console-java-application">here</a> and <a href="https://stackoverflow.com/questions/1316056/how-to-reduce-scala-java-startup-overhead">here</a>. One of the solutions suggested there was to use client-server approach with either <a href="http://martiansoftware.com/nailgun/index.html" rel="nofollow noreferrer">Nailgun</a> or a simple hand-written server communicating through a TCP socket with <a href="http://en.wikipedia.org/wiki/Netcat" rel="nofollow noreferrer">netcat</a>.</p> <p>On the one hand, Nailgun is designed for this purpose. On the other hand, its last release 0.7.1 was in 2005 and I am a bit worried if the development has stopped and how stable it is. netcat seems to be a pretty standard tool and available on many Linux/Unix systems. But both these systems are new to me so I would like to know if my observations are right and what are the other advantages and disadvantages of using Nailgun vs netcat to provide fast command-line interface to a Java application?</p> <p>P.S. You may wonder why to improve the startup time since it is already quite reasonable (~100ms on my machine) or why not to use say C/C++ instead. The first is because the application will be executed many times (e.g. from a loop in a bash script) and this use scenario cannot be changed unfortunately, the second is because this console program will be just an alternative interface (CLI) to the existing piece of software written in Java.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload