Ho un ciclo che esegue il corpo circa 200 volte. In ogni iterazione del ciclo, esegue un calcolo sofisticato, quindi, come debug, desidero produrre una heatmap di una matrice NxM. Ma generare questa heatmap è insopportabilmente lento e rallenta notevolmente un algoritmo già lento.pyplot: creazione di mappe di calore molto lenta
mio codice è lungo le linee:
import numpy
import matplotlib.pyplot as plt
for i in range(200):
matrix = complex_calculation()
plt.set_cmap("gray")
plt.imshow(matrix)
plt.savefig("frame{0}.png".format(i))
La matrice, da NumPy, non è enorme --- 300 x 600 di doppie. Anche se non salvi la figura e invece aggiorno una trama sullo schermo, è ancora più lenta.
Sicuramente devo abusare di pyplot. (Matlab può farlo, nessun problema.) Come faccio a velocizzare questo?
Ancora lento, ma almeno ora è sopportabile. – carl