¿Endemoniado por lo lento que es Gradle en el arranque? Aprende a controlar su Daemon, y vuela!

1
8343

Creación: 14-12-2013

Índice de contenidos

1. Introducción
2. Entorno
3. Usando el daemon de Gradle
4. Configurar el daemon para usarlo por defecto
5. Parando el daemon
6. Conclusiones
7. Sobre el autor

1. Introducción

En este tutorial: Cómo instalar Gradle, herramienta de automatización de builds, dimos los primeros pasos con Gradle, pero si habéis fijado, Gradle en el arranque es endemoniadamente lento!

Tanto es así que un proyecto vacío, sin ningún fuente que compilar, tarda en mi máquina 2.47 segundos! Esto es una broma ¿no?!?!?!

Aquí el ejemplo del fichero build.gradle:

Y aquí el resultado de la ejecución:

Así que en este tutorial vamos a ver cómo tomar el control del daemon que lleva Gradle porque el que no corre, vuela!

2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil MacBook Pro 15′ (2.3 GHz Intel i7, 16GB 1600 Mhz DDR3, 500GB Flash Storage).
  • NVIDIA GeForce G7 750M
  • Sistema Operativo: Mac OS X Lion 10.9
  • Java 1.7.0_45
  • Maven 3.1.1

3. Usando el daemon de Gradle

Gradel se puede lanzar en modo daemon, de forma que lee los ficheros de configuración una sola vez y se queda en memoria, de forma que las siguientes veces ya tiene el trabajo medio hecho, y va mucho más rápido. Para ello usamos la opción --daemon

Por ejemplo:

Vemos que en esta primera ejecución hemos tardado incluso más que antes!!! Pero que no panda el cúnico, esto se debe a las tareas de inicialización del demonio, y solo ocurre con la primera ejecución, si volvemos a lanzar el comando, como el demonio ya está cargado en memoria, la ejecución será prácticamente inmediata:

4. Configurar el daemon para usarlo por defecto

Cada vez que queremos usar el demonio que tenemos cargado en memoria tenemos que añadir la opción --daemon.
Pero esto puede resultar un poco cansino, así que vamos a configurar Gradle para que por defecto siempre use el demonio.

Para ello editamos el fichero $HOME/.gradle/gradle.properties, y añadimos la línea:

Salvamos el fichero, y a partir de este momento siempre que ejecutemos Gradle intentará conectarse al demonio, y si no existe todavía (la primera vez) lo creará:

5. Parando el daemon

Si por lo que sea queremos parar el demonio, basta con ejecutar gradle con la opción --stop:

6. Conclusiones

Si ves que algo que no te cuadra o no te gusta, investiga y lucha por arreglarlo, y sobre todo y como digo siempre:
LEE LA DOCUMENTACION!

7. Sobre el autor

Alejandro Pérez García, Ingeniero en Informática (especialidad de Ingeniería del Software) y Certified ScrumMaster

Socio fundador de Autentia (Desarrollo de software, Consultoría, Formación)

mailto:alejandropg@autentia.com

Autentia Real Business Solutions S.L. – «Soporte a Desarrollo»

http://www.autentia.com

 

1 Comentario

  1. Buen tutorial. Interesante.

    (Eso sí, la última vez que lo estuve mirando, las exclamaciones se abrían. Verbigracia: \\\»el que no corre, ¡vuela!\\\»)

Dejar respuesta

Please enter your comment!
Please enter your name here