Me to napada, ale nejsem ted bohuzel u PC a na mobilu se kod pise spatne.

  Kazdopadne bych zrusil "while True" a test na deleni ctyrmi, udelal
bych si promennou "idx" a z "dat" bych bral [I:i+3], ktere bych pak
poslal funkci, ktera by spocitala dane 32-bitove cislo a

  Pokud by ani to rychlostne nestacilo, zkusil bych ten cyklus dat na
starost necemu z itertools a pripadne to jeste zrychlit pomoci psyco.

  Jirka


On 02/05/2011, mol-pyt...@seznam.cz <mol-pyt...@seznam.cz> wrote:
>
> Čistě v Pythonu existujou věci jako array a struct moduly
> http://docs.python.org/library/array.html
> http://docs.python.org/library/struct.html
> numpy neznám, náhledem do dokumentace mě zaujal memmap
> http://docs.scipy.org/doc/numpy/reference/generated/numpy.memmap.html
>
>
>> ------------ Původní zpráva ------------
>> Od: Radek Machulka <radek.machu...@gmail.com>
>> Předmět: [python] Optimalizace
>> Datum: 02.5.2011 11:36:14
>> ----------------------------------------
>> Zdravim,
>>
>> v souboru mam (krom jineho) ulozene 2D pole cisel.  Cisla jsou 32bit float
>> a
>> jsou rozdelena vzdy do 4 po sobe jdoucich bytu.
>>
>> Pro vytvoreni pozadovaneho pole hodnot mam nasledujici funkci (informaci o
>>
>> rozmerech mam z jineho mista v souboru):
>>
>> from numpy import array
>> from numpy import reshape
>> from numpy import float32
>>
>> def createMatrix(dat, shape):
>>      lst = []
>>      i = 0
>>      while True:
>>              try:
>>                      if i % 4 == 0:
>>                              lst.append(float(ord(dat[i]) << 3 * 8 | 
>> ord(dat[i + 1]) <<
>> 2 * 8 | ord(dat[i + 2]) << 1 * 8 | ord(dat[i + 3])))
>>                      i = i + 1
>>              except IndexError:
>>                      break
>>      return array(lst, float32).reshape(shape)
>>
>> Funkce funguje, ale je prilis pomala. Napada nekoho jak  to cele napsat
>> vykonove optimalneji.
>>
>> Dik
>> Radek
> _______________________________________________
> Python mailing list
> Python@py.cz
> http://www.py.cz/mailman/listinfo/python
>
_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem