[yt-users] h5py execution time

Jean-Claude Passy jcpassy at gmail.com
Fri Aug 13 15:49:14 PDT 2010


  Hi Stephen,

thanks, this was obvious but I did not think about it.
Please enlarge my knowledge: why did "my method" with h5py require much 
more time than yours using Numpy ?

Thanks,

JC

On 12/08/10 19:03, Stephen Skory wrote:
> JC,
>
>>         for k1 in range(0,size[0],1):
>>           for k2 in range(0,size[1],1):
>>             for k3 in range(0,size[2],1):
>>              if (density[k1,k2,k3]>  Threshold):
>>                 tmp[k1,k2,k3] = SomeValue
>>               else:
>>                 tmp[k1,k2,k3] = 0.0
>
> Using Numpy array functions will make your life much better! Here is a simple
> example below that I think is roughly what you want to do. It should at least
> get you started down the right path. Luckily, 'density' is already a numpy array
> when it gets read in, so you're good to go!
>
>
> In [1]: import numpy as np
>
> In [2]: a = np.random.random((2,2,2))
>
> In [3]: a
> Out[3]:
> array([[[ 0.97104489,  0.25985399],
>          [ 0.02646919,  0.50027277]],
>
>         [[ 0.21725962,  0.19100341],
>          [ 0.96593371,  0.65269835]]])
>
> In [4]: big = (a>  0.5)
>
> In [5]: small = (a<= 0.5)
>
> In [6]: b = big * 0.7 + small * 0
>
> In [7]: b
> Out[7]:
> array([[[ 0.7,  0. ],
>          [ 0. ,  0.7]],
>
>         [[ 0. ,  0. ],
>          [ 0.7,  0.7]]])
>
>
>
>
>   _______________________________________________________
> sskory at physics.ucsd.edu           o__  Stephen Skory
> http://physics.ucsd.edu/~sskory/ _.>/ _Graduate Student
> ________________________________(_)_\(_)_______________
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org



More information about the yt-users mailing list