/home/lucio.albenga.es

Textbringer, un Emacs hecho con Ruby

Recientemente me he encontrado por casualidad con un editor EMACS like hecho completamente con Ruby: Textbringer1. Este editor es extensible como GNU Emacs, pero en lugar que con elisp, como es lógico se puede extender con Ruby2.

En cuanto me he enterado de su existencia me ha picado la curiosidad por probarlo. La instalación se realiza mediante RubyGems3 y como no me gusta cargar mi sistema con software que no utilizo he usado una máquina virtual con Debian GNU/Linux. Además el uso de la máquina virtual ha servido para tener exactamente las mismas condiciones para la comparativa que veremos más adelante.

A diferencia del editor mg del que hablo en otra publicación4, este editor tiene coloreado de sintaxis para C y Ruby y además soporta UTF-8. Como ya he mencionado, también permite extender el editor con Ruby, cosa que con mg no se puede hacer con ningún lenguaje. Otras características si son más estándar, dentro de las características de los "otros EMACS", como por ejemplo el hecho de que la ventana solamente se pueda dividir verticalmente o que, al seleccionar texto, este no queda resaltado por lo que debemos confiar en haberlo hecho bien a la primera.

He querido hacer una prueba con el consumo de memoria entre Textbringer, mg y GNU Emacs. Para la prueba, sin pretender hacer un benchmark exhaustivo, he utilizado el programa pmap(1) que viene instalado en todos los sistemas GNU/Linux. Todos los editores se han ejecutado recién instalados en la misma máquina virtual con los paquetes que vienen por defecto en Debian 12 (excepto Textbringer que como hemos visto hay que instalarlo con RubyGems), en una terminal, sin ningún paquete extra ni configuración personalizada y sin ningún archivo abierto. Los resultados han sido los que podemos ver en la siguiente tabla:

programa consumo de memoria en kB
mg 6000
Textbringer 91000
GNU Emacs 172312

Como podemos observar Textbringer consume más de 10 veces lo que mg y solo la mitad que GNU Emacs. El hecho de que consuma más que mg es lo esperado ya que al ser un programa interpretado tiene la sobrecarga de tener que cargar el intérprete pero, considerando las pocas características extras que tiene con respecto de mg y las grandes carencias que tiene con respecto de GNU Emacs, el consumo que tiene Textbringer me parece increíblemente elevado.

Teniendo en cuenta que yo utilizo la última versión de GNU Emacs5, compilada a mano para mi sistema y que cargándolo en una terminal, con todos los paquetes extra y mis configuraciones personalizadas, sin tener ningún archivo abierto, me da un consumo de memoria de 163768 kB que es menos del doble que el consumo de Textbringer, definitivamente no es un programa que yo vaya a utilizar ni tampoco es un programa que pueda recomendar.

Notas al pie de página:

5

En realidad yo ejecuto GNU Emacs como demonio y luego uso emacsclient pero para hacer esta prueba comparativa lo he ejecutado normalmente.