From: Craig L. <cra...@gm...> - 2017-04-19 17:11:04
|
On Wed, 2017-04-19 at 07:17 +0200, Philipp Marek wrote: > Hi Craig, > > > > > > This application does not allocate and deallocate large amounts of > > memory so I have no information about which Lisp handles memory the > > best. None of the Lisps tested ran out of memory. > > > > LispWorks and Clozure CL both start with a small amount of memory > > and > > grow and shrink the dynamic space as needed so I suspect that they > > handle memory the best. > > > > SBCL needs to be told what its maximum dynamic space size is. It > > then > > allocates all of that memory. > That doesn't mean that all of that is "allocated" by the OS, or used > by > SBCL. It's only about a memory area that _can_ be used. > > > > > > I know that someone posted on the SBCL list asking for help so that > > he > > could build a tree shaker that reduces the size of memory in a > > delivered appication. I hope he is successful in his endevour > > since > > the executable produced by SBCL was 57MB for my app. each of the > > other > > two lisps produced smaller executables. > You can tell SBCL to compress the executable, at a slightly larger > startup cost. Not quit the same thing. > > AFAIK there's no official tree shaker. Correct. The guy I was referring to was trying create one. > Some time ago I bookmarked > > https://gist.github.com/burtonsamograd/f08f561264ff94391300 > > I also had some success by removing all documentation strings - > but all of these approaches make debugging later on quite hard. > > If it's Open Source anyway, there's no need to hide anything, > so just ship the default executable (including swank) - in case > anything unexpected happens you'll have some information left > about what went wrong. > > > Just out of curiosity - does ECL work, too? I don't know. I've never tried it. > > > > > I would also ask that SBCL consider having different binary > > extension > > names for different platforms. Clozure CL does that and it is very > > helpful for building for multiple platforms from the same source > > directory tree. > Uh, "save-lisp-and-die" and the UIOP library both take a path > designator > - so just do > > (CONCATENATE 'STRING "my-binary-name" > #+linux ".linux" > #+windows ".exe") Sorry, I wasn't talking about the delivered executable. I was talking aobut the binary file produced by compiling a lisp source file. Craig |