Moving towards Python 3.0 (was Re: [Python-Dev] Speed up function
calls)
Bob Ippolito
bob at redivi.com
Mon Jan 31 17:04:51 CET 2005
On Jan 31, 2005, at 10:43, Evan Jones wrote:
> On Jan 31, 2005, at 0:17, Guido van Rossum wrote:
>> The "just kidding" applies to the whole list, right? None of these
>> strike me as good ideas, except for improvements to function argument
>> passing.
>
> Really? You see no advantage to moving to garbage collection, nor
> allowing Python to leverage multiple processor environments? I'd be
> curious to hear your reasons why not.
>
> My knowledge about garbage collection is weak, but I have read a
> little bit of Hans Boehm's work on garbage collection. For example,
> his "Memory Allocation Myths and Half Truths" presentation
> (http://www.hpl.hp.com/personal/Hans_Boehm/gc/myths.ps) is quite
> interesting. On page 25 he examines reference counting. The biggest
> disadvantage mentioned is that simple pointer assignments end up
> becoming "increment ref count" operations as well, which can "involve
> at least 4 potential memory references." The next page has a
> micro-benchmark that shows reference counting performing very poorly.
> Not to mention that Python has a garbage collector *anyway,* so
> wouldn't it make sense to get rid of the reference counting?
>
> My only argument for making Python capable of leveraging multiple
> processor environments is that multithreading seems to be where the
> big performance increases will be in the next few years. I am
> currently using Python for some relatively large simulations, so
> performance is important to me.
Wouldn't it be nicer to have a facility that let you send messages
between processes and manage concurrency properly instead? You'll need
most of this anyway to do multithreading sanely, and the benefit to the
multiple process model is that you can scale to multiple machines, not
just processors. For brokering data between processes on the same
machine, you can use mapped memory if you can't afford to copy it
around, which gives you basically all the benefits of threads with
fewer pitfalls.
-bob
More information about the Python-Dev
mailing list