[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