77 lines
3.1 KiB
Plaintext
77 lines
3.1 KiB
Plaintext
From: tismer at appliedbiometrics.com (Christian Tismer)
|
|
Date: Fri, 30 Apr 1999 13:02:43 GMT
|
|
Subject: Python IS slow ! [was] Re: Python too slow for real world
|
|
References: <613145F79272D211914B0020AFF6401914DAD8@gandalf.digicool.com>
|
|
<p5g15lmb35.fsf@bidra241.bbn.hp.com>
|
|
<slrn7ieipq.8uk.wtanksle@dolphin.openprojects.net>
|
|
<7g9qmo$luf$1@news.udel.edu>
|
|
<372965CA.2B3FD2FE@appliedbiometrics.com> <19990430080805.B776752@vislab.epa.gov>
|
|
Message-ID: <3729A9F3.75B2692B@appliedbiometrics.com>
|
|
Content-Length: 2601
|
|
X-UID: 340
|
|
|
|
|
|
Randall Hopper wrote:
|
|
>
|
|
> Christian Tismer:
|
|
> |Terry Reedy wrote:
|
|
> |> A batch-mode optimizer analyzing an entire file (module) should be able to
|
|
> |> detect whether or not function names are rebound.
|
|
> |>
|
|
> |> Perhaps module bindings should be considered immutable from outside the
|
|
> |> module unless explicitly declared otherwise.
|
|
> |
|
|
> |I'm thinking of no new keyword, but a mechanism which allows me to lock a
|
|
> |namespace somehow.
|
|
>
|
|
> I like this idea in concept. Though I would prefer a way to have
|
|
> namespaces "lock by default". Examples: After a class definition, the
|
|
> class function dictionary is locked. After a module is fully read, all
|
|
> references are bound and the module namespace is locked. etc.
|
|
|
|
Well, I wouldn't do that by default. By default, everything
|
|
could stay as it is. First of all, this would not break any
|
|
existing code. Then, many people will want to
|
|
fine tune their modules, and they are perhaps not done
|
|
after a class definition was ready.
|
|
|
|
Then, what would you do with classes which depend on each
|
|
other? You cannot lock them immediately, this would fail.
|
|
Locking them after they both are defined is fine, since
|
|
everything is defined then. With minimum effort and no
|
|
language changes, this will be needed.
|
|
|
|
Then think of all the more difficult systems which need
|
|
more effort to become configured. The xml parsers together
|
|
with SAX are an example. If I wanted to lock this, then
|
|
this must be done with care. One would also not lock the mixin
|
|
classes, but only the final workhorse class, bound with
|
|
the correctly selected parser, and so on.
|
|
|
|
It might also be necessary to find a way to specify which
|
|
attributes may be locked and which not, since there exist
|
|
indeed cases where Python's super-flexibility is needed :-)
|
|
|
|
Depending on how exactly will be implemented, a single line
|
|
at the end of a module should suffice to accomplish this stuff
|
|
for the standard cases. Fine adjustment would take a little more.
|
|
As a side effect, locking a module would also find all
|
|
referenced but undefined symbols.
|
|
|
|
Anyway, this is still no cakewalk and quite a lot of code
|
|
is involved. Needs much more thinking...
|
|
|
|
ciao - chris
|
|
|
|
--
|
|
Christian Tismer :^) <mailto:tismer at appliedbiometrics.com>
|
|
Applied Biometrics GmbH : Have a break! Take a ride on Python's
|
|
Kaiserin-Augusta-Allee 101 : *Starship* http://starship.python.net
|
|
10553 Berlin : PGP key -> http://wwwkeys.pgp.net
|
|
PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF
|
|
we're tired of banana software - shipped green, ripens at home
|
|
|
|
|
|
|
|
|