Как уменьшить размер исполняемого файла Clozure Common Lisp?

Я сохранил эту простую программу

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

(defun main ()
  (hello-world))

используя ccl:save-application

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

из Clozure Common Lisp REPL.

Полученный исполняемый файл имеет размер 25M в Mac OS X. Я понимаю, что он содержит ядро ​​Lisp и представление системы Lisp в памяти. Тем не менее 25M кажутся слишком большими для такой простой программы. Параметры purify и impurify, похоже, не имеют большого значения.

Какие варианты у меня есть, чтобы уменьшить размер исполняемого файла? Есть ли такие?


person Jan Deinhard    schedule 17.06.2012    source источник
comment
связанный поток: stackoverflow.com/questions/11036070/lisp-binary-size   -  person Juanito Fatas    schedule 18.06.2012


Ответы (1)


С CCL мало что можно сделать.

Одним из возможных вариантов может быть создание базового образа меньшего размера с использованием пользовательской конфигурации без записи различной отладочной информации (списки аргументов, документация, исходные местоположения и т. д.).

Вы также можете сжать исполняемый файл и отправить сжатый файл.

CCL, насколько мне известно, не хватает средств доставки для сжатия приложения, таких как инструменты Allegro CL и LispWorks.

person Rainer Joswig    schedule 17.06.2012