Способы сокращения времени запуска приложений Java и Scala уже обсуждались здесь и здесь . Одним из предложенных решений было использование клиент-серверного подхода с Nailgun или простым рукописным сервером, связывающимся через сокет TCP с netcat .
С одной стороны, Nailgun предназначен для этой цели. С другой стороны, последний выпуск 0.7.1 был в 2005 году, и я немного волнуюсь, остановилась ли разработка и насколько она стабильна. Netcat кажется довольно стандартным инструментом и доступен во многих системах Linux / Unix. Но обе эти системы являются новыми для меня, поэтому я хотел бы знать, верны ли мои наблюдения и каковы другие преимущества и недостатки использования Nailgun против netcat для обеспечения быстрого интерфейса командной строки для приложения Java?
* * 1012 P.S. Вы можете задаться вопросом, зачем улучшать время запуска, поскольку оно уже вполне разумно (~ 100 мс на моей машине) или почему бы не использовать, скажем, C / C ++. Во-первых, потому что приложение будет выполняться много раз (например, из цикла в скрипте bash), и этот сценарий использования не может быть изменен, к сожалению, во-вторых, потому что эта консольная программа будет просто альтернативным интерфейсом (CLI) для существующей части программного обеспечения, написанного на Java.