2012-06-17 24 views
8

I guardado este sencillo programaCómo reducir el tamaño de un ejecutable Clozure Common Lisp?

(defun hello-world() 
    (format t "Hello, world")) 

(defun main() 
    (hello-world)) 

usando ccl:save-application

(ccl:save-application "test" 
         :toplevel-function #'main 
         :prepend-kernel t 
         :purify t 
         :impurify t) 

del Lisp REPL Clozure Común.

El ejecutable resultante tiene un tamaño de 25M en Mac OS X. Entiendo que contiene el kernel Lisp y una representación en memoria del sistema Lisp. Aún 25M parece algo grande para un programa tan simple. Los parámetros purify y impurify no parecen tener mucho efecto.

¿Qué opciones tengo para reducir el tamaño del ejecutable? ¿Hay alguno?

+1

un tema relacionado: http://stackoverflow.com/questions/11036070/lisp-binary-size – juanitofatas

Respuesta

7

No hay mucho que pueda hacer con CCL.

Una cosa posible podría ser crear una imagen base más pequeña usando una configuración personalizada al no registrar varias informaciones de depuración (arglists, documentación, ubicaciones de fuentes, ...).

También puede comprimir el ejecutable y enviar el archivo comprimido.

CCL AFAIK carece de herramientas de entrega para reducir la aplicación, herramientas como las de Allegro CL y LispWorks.