Python: повысить эффективность моего скрипта с помощью многопроцессорного модуля (советы и предложения)
Я новичок в Python (несколько недель), и недавно я прочитал в Stackru статью о модуле многопроцессорности. Обычно я работаю с данными в формате миллионов точек (файл *.las. Это видео, чтобы понять источник моих данных), и мне интересно лучше понять, как использовать многопроцессорный модуль.
Я использую Python 2.7 на Windows 7, Intel Core i7-3770CPU
Обычно я использую этот def, написанный от меня как эталон, чтобы понять:
# load line-by-line the las file, check if the points are inside the polygon
# if yes save a new *.las file
import shapefile
import numpy
import numpy as np
from numpy import nonzero
from matplotlib.mlab import griddata
from matplotlib.nxutils import pnpoly
from liblas import file as lasfile
def LAS2LASClip(inFile,poly,outFile):
f = lasfile.File(inFile,None,'r') # open LAS
h = f.header
# change the software id to libLAS
h.software_id = "Python 2.7"
file_out = lasfile.File(outFile,mode='w',header= h)
f.close()
sf = shapefile.Reader(poly) #open shpfile
shapes = sf.shapes()
for i in xrange(len(shapes)):
verts = np.array(shapes[i].points,float)
inside_points = [p for p in lasfile.File(inFile,None,'r') if pnpoly(p.x, p.y, verts)]
for p in inside_points:
file_out.write(p)
file_out.close()