Re: How to increase the speed of this program?



HYRY wrote:
Peter Otten wrote:
HYRY wrote:

I want to join two mono wave file to a stereo wave file by only using
the default python module.
Here is my program, but it is much slower than the C version, so how
can I increase the speed?
I think the problem is at line #1, #2, #3.

oarray = array.array("h", [0]*(len(larray)+len(rarray))) #1

ITEMSIZE = 2
size = ITEMSIZE*(len(larray) + len(rarray))
oarray = array.array("h")
oarray.fromstring("\0" * size)

may be a bit faster.

Peter

Thank you very much, that is just what I want.

Even faster: oarray = larray + rarray

C:\Python25>python -m timeit -s"from array import array; N = 10**6" "a
=array('h'); a.fromstring('\0'*(2*N))"
100 loops, best of 3: 9.57 msec per loop

C:\Python25>python -m timeit -s"from array import array; N = 10**6; b =
array('h', [0])*(N/2); c = b[:]" "a = b + c"
100 loops, best of 3: 5.7 msec per loop

-- Leo

.



Relevant Pages

  • Block processing for 2D matrices
    ... The function im2col does exactly what I need, but strangely, I find ... it is running MUCH SLOWER than writing 2 nested "for" loops to index ...
    (comp.soft-sys.matlab)
  • Re: For Next statments
    ... > Is slower than ... If your loops are so dense or nested that seeing the identifier helps you tell what's happening, ...
    (microsoft.public.vb.general.discussion)
  • Re: How to increase the speed of this program?
    ... the default python module. ... 100 loops, best of 3: ... Perhaps if array multiplication was as smart as string multiplication ... instance with typecode t and number of elements n with each element ...
    (comp.lang.python)
  • Re: how to remove multiple occurrences of a string within a list?
    ... Only if you want to make your code harder to read and slower:: ... Slower, I can see. ... 1000000 loops, best of 3: 0.789 usec per loop ...
    (comp.lang.python)
  • Re: Creating an Object that extends Array functionality
    ... But for-in loops is also not so useful (it's slower) as for-length ... A little correction. ... prototype chain analysis can take place for ...
    (comp.lang.javascript)