[python] Optimalizace
Radek Machulka
radek.machulka na gmail.com
Pondělí Květen 2 11:38:21 CEST 2011
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
Další informace o konferenci Python