|
From: Travis O. <oli...@ie...> - 2006-01-20 03:48:48
|
Mark Heslep wrote: > Im doing some work with the OpenCv* project. Im using swig typemaps > to convert the Cv data structures to numarray which works well. Id > like to restrict Cv use to what its strengths: complicated vision > processing algorithms like optical flow. For the case of simple Cv > data manipulations, I'd rather use NumPy functions & methods but was > surprised at the performance comparison. > - A simple scalar constant fill with cvSet. 'im' here is a wrapped Cv > image data structure. > >> python -m timeit -s "import opencv.cv as cv; im = >> cv.cvCreateImage(cv.cvSize(1000,1000), 8, 1)" "cv.cvSet( im, >> cv.cvRealScalar( 7 ) )" >> 100 loops, best of 3: 2.58 msec per loop > > > - If I try the equivalent with NumPy > >> python -m timeit -s "import numarray as na; a = na.zeros((1000,1000) >> )" "a[:,:] = 7" > > >> 10 loops, best of 3: 45.1 msec per loop > > This is actually a bit surprising that opencv can create and fill so quickly. Perhaps they are using optimized SSE functions for the Intel platform, or something? -Travis |