matplotlib :более быстрое создание PDF?

Я хотел бы использовать matplotlib для создания нескольких файлов PDF. Моя основная проблема заключается в том, что matplotlib работает медленно, занимая порядка 0,5 секунды на файл.

Я попытался выяснить, почему это занимает так много времени, и написал следующую тестовую программу, которая просто строит очень простую кривую в виде файла PDF:

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

X = range(10)
Y = [ x**2 for x in X ]

for n in range(100):
    fig = plt.figure(figsize=(6,6))
    ax = fig.add_subplot(111)
    ax.plot(X, Y)
    fig.savefig("test.pdf")

Но даже такая простая вещь, как эта, занимает много времени :15–20 секунд всего для 100 файлов PDF (современные платформы Intel, я пробовал системы Mac OS X и Linux ).

Существуют ли какие-либо приемы и методы, которые я могу использовать для ускорения создания PDF-файлов в matplotlib? Очевидно, что я могу использовать несколько параллельных потоков на многоядерных -платформах, но есть ли что-то еще, что я могу сделать?

8
задан Jukka Suomela 19 August 2012 в 13:06
поделиться