Mejora del tiempo de inicio de Clojure REPL con Leiningen en la Raspberry Pi
raspberry-pi (4)
Obtuve una versión de Rasperry Pi 512 MB (a finales de 2012) e instalé la versión preliminar de Java SE 8 para ARM . Cuando creo un nuevo proyecto de Clojure con Leiningen y lanzo el nREPL haciendo un lein repl
, toma un poco más de dos minutos (aproximadamente 130 - 140 segundos) hasta que el REPL se haya inicializado y pueda usarse.
Al iniciar el archivo JAR directamente java -jar clojure-1.4.0/clojure-1.4.0
el REPL se inicia en 25s.
Estoy usando tarjetas SD de clase 10 rápidas (SanDisk Extreme con hasta 30 MB / s). ¿Por qué es tan grande la diferencia entre usar Leiningen con nRepl y lanzar el archivo JAR? ¿Qué se podría hacer para mejorar el tiempo de inicio con Leiningen para la Raspberry Pi?
En realidad, el Leiningen comienza en su propia JVM y luego anida el vm del proyecto en su interior.
A continuación, comprueba deps, determina los cambios y así sucesivamente.
Puede evitar el anidamiento vm con la tarea del trampolín de lein de la siguiente manera:
lein trampoline repl
Pero este comando requiere que el lein sea llamado en un directorio de proyecto
Parece que el inicio lento de clojure en general es la carga de núcleo y varias otras cosas discutidas aquí:
Puede probar el drip que envuelve el comando java y preparar un jvm nuevo esperando en el fondo.
También intente con grenchman : Invocación rápida de código de Clojure sobre nREPL.