This isn't a deal-killer outright. But python23.dll is 1.0MB, svelte
by comparison.
Can someone tell me what made it 80% larger? Also, how much would I be
able to trim away if I recompiled it myself? Is a lot of it native
implementations of Python libraries that I might not care about
including, or is it all fundamental VM stuff that couldn't possibly be
removed?
Thanks,
/larry/
Between Python 2.3 and 2.4, the python.org people switched to a
different version of the Microsoft C compiler. Perhaps this is (part
of) the explanation.
Jeff
python24.dll includes many of the extension modules that were separate
.pyd files in 2.3, namely _csv, _sre, _symtable, _winreg, datetime,
mmap, and parser, i.e. all extension modules that don't require specific
libraries. Furthermore, a few builtin modules where added to 2.4 that
were not present in 2.3 at all.
> Also, how much would I be able to trim away if
> I recompiled it myself?
Hard to tell. I think people have been able to get it down to 180k.
> Is a lot of it native
> implementations of Python libraries that I might not care about
> including, or is it all fundamental VM stuff that couldn't possibly be
> removed?
No. Most of it is modules, followed by objects. Removing modules is
easy; removing objects is more difficult: while you could make a Python
interpreter easily that does not support complex numbers, it is much
harder to build a Python interpreter that does not support weak
references.
Regards,
Martin
> Also, how much would I be
> able to trim away if I recompiled it myself? Is a lot of it native
> implementations of Python libraries that I might not care about
> including, or is it all fundamental VM stuff that couldn't possibly
be
> removed?
In Pythons config.c file You can determine which ext-modules will be
compiled into the core. I estimate that a lean core would have a size
around ~600kb. Trimming down further may become hard because You may
have to decide what to sacrifice: tuples, classes or objects ;)
Regards,
Kay