Python on Tandy Model 102?

Kragen Sitaker kragen at pobox.com
Tue Jan 29 16:38:39 EST 2002


"Joshua Muskovitz" <joshm at taconic.net> writes:
> > Why doesn't Python do that?  It doesn't even build a shared library of
> > itself by default, let alone build a tiny executable that uses it.
> 
> What's the point?  Any decent paging manager will only keep one copy of it
> in RAM anyway.

No paging manager I'm familiar with is smart enough to figure out that
my program /usr/bin/PythonUsingBehemoth shares a bunch of bits with
/usr/bin/python unless those bits come from a shared library.  If I
have many programs that embed Python, those programs will each have
their own copy of Python, on disk and in RAM, unless they're loading
Python as a shared library.

It is somewhat more difficult to get them to load Python as a shared
library if there isn't a shared library to link them against by
default.

> The size of the executable is meaningless if the OS has to pull in
> the library to run it.  Ultimately the same bits have to come off
> the disk and into RAM whether they are in one file or twenty.

Actually, having the code in two files generally means having to load
more into memory, and the code runs a bit slower; dynamic linking is
not free.

> One less file is one less thing to get screwed up in the
> distribution, IMHO.

Great!  Not building the shared library means that the Python2.1
installed on my machine is 1860 files instead of 1861.




More information about the Python-list mailing list