[python] Optimalizace

mol-python na seznam.cz mol-python na seznam.cz
Pondělí Květen 2 11:59:09 CEST 2011


Č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.machulka na 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


Další informace o konferenci Python