NetWare port of Python - not so hot pystone
Brad Clements
bkc at murkworks.com
Mon Jan 3 16:34:15 EST 2000
Having completed an initial port of Python to NetWare, I've been testing
it out to see how well it performs.
On a PII-233 with 128 meg ram I can run either NetWare 5.1, or
Windows NT 4.0 SP3.
When running NT, Pystone 1.1 returns 3634
When running on NetWare in protected mode I get 2748 with
setcheckinterval(<big number>), or 1628 using the default check interval
When running on NetWare in non-protected mode, I get 3086 with
setcheckinterval(<big number>), or 2044 using the default check interval.
The NetWare version of python15.nlm was compiled using Pentium
instructions and scheduling.
Because NetWare is a non-preemptive OS, the check interval also
controls when Python15.nlm explicitely calls ThreadSwitch(). Setting
the check interval to a higher number has a big impact.
--
Still, these numbers are rather crummy. What kinds of things in a CLIB
could have a large impact on Python?
1. memory allocation routines
2. string manipulation
3. <other>???
I suspect that the memory allocation functions in clib aren't very good,
and could be replaced with something better. Does anyone know of a
free source of a very good dynamic memory allocator?
Perhaps there is a compile time option I'm missing here? I don't think
my config.h has debugging or memory tracing enabled.
I'm using the Borland Compiler, if I used VC would that make a big
impact too?
Suggestions welcome. Thanks
ps. Zope runs on NetWare too.
Brad Clements, bkc at murkworks.com (315)268-1000
http://www.murkworks.com (315)268-9812 Fax
netmeeting: ils://ils.murkworks.com AOL-IM: BKClements
More information about the Python-list
mailing list