2012-06-17 37 views
8

tôi lưu chương trình này đơn giảnLàm thế nào để giảm kích thước của một Clozure Common Lisp thực thi?

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

(defun main() 
    (hello-world)) 

sử dụng ccl:save-application

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

từ Clozure Common Lisp REPL.

Kết quả thực thi có kích thước 25M trên Mac OS X. Tôi hiểu rằng nó chứa hạt nhân Lisp và biểu diễn trong bộ nhớ của hệ thống Lisp. Vẫn còn 25M có vẻ hơi lớn đối với một chương trình đơn giản như vậy. Các tham số purifyimpurify dường như không có nhiều ảnh hưởng.

Tôi có các tùy chọn nào để giảm kích thước tệp thực thi? Có cái gì không?

+1

một chủ đề có liên quan: http://stackoverflow.com/questions/11036070/lisp-binary-size – juanitofatas

Trả lời

7

Bạn không thể làm gì với CCL.

Một điều có thể là tạo hình ảnh cơ sở nhỏ hơn bằng cách sử dụng cấu hình tùy chỉnh bằng cách không ghi lại nhiều thông tin gỡ lỗi khác nhau (người phát ngôn, tài liệu, vị trí nguồn, ...).

Bạn cũng có thể nén tệp thực thi và gửi tệp nén.

CCL AFAIK thiếu công cụ phân phối để thu nhỏ ứng dụng - công cụ như công cụ của Allegro CL và LispWorks.

Các vấn đề liên quan