Я использую urllib2, cstringIO и PIL. Мне нужно действительно настроить это и сделать это очень быстро (по крайней мере, половину текущей скорости)
Я получаю доступ и загружаю изображение, используя приведенное ниже.
imageurl = "http://bit.ly/wOqVTE"
@log_performance
def get_image(imageurl):
img_file = urllib.urlopen(imageurl)
data = StringIO(img_file.read())
im = Image.open(data)
size = 128, 128
im.thumbnail(size, Image.ANTIALIAS)
return im
Затем обработайте изображение, используя:
@log_performance
def process_image(image, sample_limit=10000, top=10):
colors = image.getcolors(sample_limit)
sc = sorted(colors, key=lambda x: x[0], reverse=True)
return sc[:top]
Для получения изображения требуется в среднем 0,6 секунды, а для обработки - около 0,006 секунды.
Как я могу ускорить процесс загрузки и загрузки?
Полную суть можно найти здесь. https://gist.github.com/1920167
>>>>Function: get_image, Executed:20, Avg Time:0.558275926113
>>>>Function: process_image, Executed:20, Avg Time:0.00609920024872
Я добавлю вознаграждение в размере 50 за каждого, кто может половину времени.