Subject: Re: size of executables?
From: Erik Naggum <erik@naggum.net>
Date: Sun, 16 Sep 2001 14:06:15 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3209637974597287@naggum.net>

* Aleksandr Skobelev <2269@mail.ru>
> Of a size.

  You have to check the memory imprint of a program when it terminates to
  see its size.  What is on disk in the particular file you call to run it
  is completely irrelevant.  If you want that file to be small, use a shell
  script that invokes the Common Lisp system.  If you think this is highly
  misleading, consider the fact that omitting the size of all the shared
  resources that makes it possible to end up with a small executable is
  also cheating.

> I don't require of Lisp realization to generate smallest executables.
> But I'd prefer if size was not too much big.

  _Why_?  What is it to you?  Why does disk space matter to _anyone_ these
  days?  My Debian GNU/Linux development machine has 120G of disk space
  right now, and I cannot even _imagine_ life as a programmer without huge
  excesses of disk resources, anymore.  With the kind of cheap disks we get
  these days, that amount of disk space is within reach for anyone with no
  more than your take-home pay for a couple week's worth of work.

> If I take participation in a project and I'd like to move my part
> silently from C++ into Lisp then any dramatically worsening in any of
> characteristics is not allowed.

  Pardon me, but this is a really stupid position to hold.  You argue as if
  you were dirt poor with absolutely no hope of improving your situation
  because you are in such a dire situation that you cannot spend a nickel
  to get out of it.  If this is indeed true, Common Lisp cannot help you.
  I can tell you right away that you will not get out of your dump with the
  aid of Common Lisp.  Sorry about that.

  If, however, you are willing to work _with_ the Common Lisp system and
  not against it, you will find that you can have your "executables" be
  only the compiled files and you can invoke them easily with shell scripts
  or simple loader functions in init files.

> Despite of any advantages of using Lisp.  Size is also very important
> because of distribution of programs over Internet.  Not all people have a
> very good Internet connection.  For example, my home uplink is only 28 kb
> mostly.  So I always think twice before downloading something that ~500
> kB.

  The way to do this is to download the Common Lisp environment _once_,
  then download small object files, not full executables or images.  E.g.,
  CMUCL can dump _huge_ images, and most other Common Lisp environments
  also dump huge images files (however, they do compress really well :),
  but the source code or the compiled files are fairly small.  People tend
  to have to install runtime libraries for _all_ their other environments,
  too, so I fail to see why the same standard cannot be applied to Common
  Lisp.  It is as if some people simply have made up their mind that they
  cannot use Common Lisp unless it is virtually identical to their some
  particular other tools.  For instance, do you see people whine that Perl
  programs are so big?  No, not at all, but why?  Perl is already installed
  and the programs are very small, but Perl itself is *large*, yet nobody
  complains.

  I think there are many assumptions underlying your line of questioning
  that need to be enunciated and re-opened for you to get closer to useful
  answers.

///