3 ms·
The hello world app (bundle) is like 250 megabytes. Half of that is the Electron release, the rest is the Lisp image, whose size you can cut significantly using
by eudox 11y ago
The hello world app (bundle) is like 250 megabytes. Half of that is the Electron release, the rest is the Lisp image, whose size you can cut significantly using core compression (this isn't enabled, I'm looking into doing it through Buildapp without it crashing if it's not available).
- falcolas 11y agoYikes. One would think that could be pared down by a significant amount: Node is only ~40mb installed, and the various webkit browsers aren't much bigger than that.
- aidenn0 11y agoSee my other comment about implementations' core image sizes. SBCL is the worst offender for runtime space overhead[1], and it's CLOS implementation is heavily biased towards the "space" side of the time/space tradeoff, and a brief look at the implementation of this shows a lot of CLOS usage. I would expect that delivering with a different implementation would show a significant reduction in size. Barring that, most GUI executables are fairly insensitive to startup time, so SBCL core compression would the lisp image down by a factor of 4:1. Lastly, you can always just not worry about it: du -s /Applications/*.app | sh ~/avg.sh Total: 28529040; Count: 126; Mean: 226420; Median: 56752; Min: 8; Max: 6132408 1: Note that SBCL generates the best code of any Free lisp implementation, and makes it the easiest to tune your code for better performance. As disk space is cheap, it's what I use for most of my applications.
- 616c 11y agoHey, eudox! We wanted to ask you, but we did not see you on the Reddit thread. Someone asked: https://www.reddit.com/r/Common_Lisp/comments/3d3oqh/ceramic_turn_web_applications_into_native_desktop/ https://www.reddit.com/r/Common_Lisp/comments/3d3oqh/ceramic... The gist is: for the Javascript parts on your site, any plans to integrate Parenscript for the full Lisp experience? Thanks for your work. I saw again it was posted before today on /r/lisp and /r/programming, but I missed it.
- eudox 11y agoThanks! The only JavaScript is in the Electron process, and it's fixed, ie you don't have to touch it. You interact with it through CLOS methods on window objects. Other than that any JavaScript is optional, you write it yourself (using whatever source language, e.g. ParenScript) and ship it with your app as a resource.