Re: How to increase the speed of this program?
- From: "Leo Kislov" <Leo.Kislov@xxxxxxxxx>
- Date: 28 Nov 2006 01:35:48 -0800
Peter Otten 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.
Confirmed:
$ python2.5 -m timeit -s'from array import array; N = 10**6' 'a =
array("h"); a.fromstring("\0"*(2*N))'
100 loops, best of 3: 9.68 msec per loop
$ python2.5 -m timeit -s'from array import array; N = 10**6' 'a = array("h",
[0]*N);'
10 loops, best of 3: 199 msec per loop
Funny thing is that using huge temporary string is faster that
multiplying small array:
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" "a
= array('h','\0\0'); a*N"
10 loops, best of 3: 28.4 msec per loop
Perhaps if array multiplication was as smart as string multiplication
then array multiplication version would be the fastest.
-- Leo
.
- Follow-Ups:
- Re: How to increase the speed of this program?
- From: Peter Otten
- Re: How to increase the speed of this program?
- References:
- How to increase the speed of this program?
- From: HYRY
- How to increase the speed of this program?
- Prev by Date: Re: Libgmail
- Next by Date: Re: screen output problem
- Previous by thread: Re: How to increase the speed of this program?
- Next by thread: Re: How to increase the speed of this program?
- Index(es):
Relevant Pages
|