Улучшение времени запуска Clojure REPL с помощью Leiningen на малине Pi - программирование
Подтвердить что ты не робот

Улучшение времени запуска Clojure REPL с помощью Leiningen на малине Pi

Я получил версию Rasperry Pi 512 MB (конец 2012 года) и установил Предварительный просмотр Java Java SE 8 для ARM. Когда я создаю новый проект Clojure с Leiningen и запускаю nREPL, выполняя lein repl, требуется немного больше двух минут (примерно 130-140 секунд), пока REPL не будет инициализирован и не будет использоваться.

При запуске JAR файла напрямую java -jar clojure-1.4.0/clojure-1.4.0 REPL запускается за 25 секунд.

Я использую быстрые SD-карты класса 10 (SanDisk Extreme со скоростью до 30 МБ/с). Как получилось, что разница между использованием Leiningen с nRepl и запуском JAR файла настолько велика? Что можно сделать, чтобы улучшить время запуска с Leiningen для малины Pi?

4b9b3361

Ответ 1

Также попробуйте grenchman: быстрый вызов Clojure кода через nREPL.

Ответ 2

Вы можете попробовать drip, который обертывает команду java и готовит свежий jvm, ожидающий в фоновом режиме.

Ответ 3

Кажется, что медленный запуск clojure в общем случае - это загрузка ядра и различные другие вещи, обсуждаемые здесь:

http://blog.ndk.io/solving-clojure-boot-time.html

Ответ 4

На самом деле Leiningen запускает в своем собственном JVM, а затем встраивает в него проект vm.
Затем он проверяет депонирование, определяет изменения и т.д.

Вы можете избежать vm вложенности с батутной задачей lein следующим образом:
lein trampoline repl

Но эта команда требует, чтобы лейн вызывался в каталоге проекта