numarray speed question

grv grv575 at hotmail.com
Thu Aug 5 07:14:16 CEST 2004


squirrel at WPI.EDU (Christopher T King) wrote in
<Pine.LNX.4.44.0408040845120.27254-100000 at ccc6.wpi.edu>: 

>On Wed, 4 Aug 2004, grv wrote:
>
>> So it is supposed to be very fast to have an array of say 5 million 
>> integers stored in a binary file and do
>> 
>> a = numarray.fromfile('filename', (2, 2, 2))
>> numarray.add(a, 9, a)
>> 
>> but how is that faster than reading the entire file into memory and
>> then having a for loop in C:
>>    (loop over range) {
>>       *p++ += 9      }
>> 
>> or is that essentially what's going on?
>
>That's essentially what's going on ;) The point of numarray isn't to be 
>hyper-fast, but to be as fast as the equivalent C (or Fortran, or 
>what-have-you) implementation.  In many cases, it's faster, because 
>numarray is designed with several speed hacks in mind, but it's nothing 
>you can't do (without a little work) in C.
>

Yes but see I'm interested in what speed hacks can actually be done to 
improve the above code.  I just don't see anything that can iterate and add 
over that memory region faster.



More information about the Python-list mailing list