Hi, I tried to post results but the file is too big, anyway, here is the benchmark program if you want to run it:
Nicolas ----- import time import numpy from scipy import sparse def benchmark(xtype = 'numpy.array', xdensity = 0.1, ytype = 'numpy.array', ydensity = 1.0, n = 1000): x = numpy.zeros((n,n), dtype = numpy.float64) xi = int(n*n*xdensity) x.reshape(n*n)[0:xi] = numpy.random.random((xi,)) y = numpy.zeros((n,1), dtype = numpy.float64) yi = int(n*ydensity) y.reshape(n)[0:yi] = numpy.random.random((yi,)) x = eval('%s(x)' % xtype) y = eval('%s(y)' % ytype) t0 = time.clock() if xtype == 'numpy.array' and ytype == 'numpy.array': for i in range(1000): z = numpy.dot(x,y) else: for i in range(1000): z = x*y tf = time.clock() - t0 text = '' text += (xtype + ' '*20)[0:20] text += (ytype + ' '*20)[0:20] text += '%4dx%4d %4dx%4d %.2f %.2f %.2f' % (n,n,n,1,xdensity, ydensity, tf) return text xtypes = ['numpy.array', 'numpy.matrix', 'sparse.lil_matrix', 'sparse.csr_matrix', 'sparse.csc_matrix'] ytypes = ['numpy.array', 'numpy.matrix', 'sparse.lil_matrix', 'sparse.csr_matrix', 'sparse.csc_matrix'] xdensities = [0.01, 0.10, 0.25, 0.50, 1.00] ydensities = [1.00] print '=================== =================== =========== =========== =========== =========== =======' print 'X type Y type X size Y size X density Y density Time ' print '------------------- ------------------- ----------- ----------- ----------- ----------- -------' n = 100 for xdensity in xdensities: for ydensity in ydensities: for xtype in xtypes: for ytype in ytypes: print benchmark(xtype, xdensity, ytype, ydensity, n) print '------------------- ------------------- ----------- ----------- ----------- ----------- -------' n = 1000 for xdensity in xdensities: for ydensity in ydensities: for xtype in xtypes: for ytype in ytypes: print benchmark(xtype, xdensity, ytype, ydensity, n) print '------------------- ------------------- ----------- ----------- ----------- ----------- -------' print '=================== =================== =========== =========== =========== =========== ======='
_______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion