Please consider this small script:

============================================================
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import animation
from time import time

def init():
    return ax.cla()

def animate(i):
    global t
    r = np.random.random(10)
    c = np.sin(2 * np.pi * r) * np.vstack(np.cos(2 * np.pi * r))
    print(time() - t)
    t = time()
    return ax.contourf(c)


if __name__ == '__main__':
    t = time()
    fig = plt.figure()
    ax = fig.add_subplot(111)
    anim = animation.FuncAnimation(fig, animate, init_func=init,
                                   frames=100,
                                   interval=15,
                                   blit=True)
    anim.save('test.mp4', fps=15, extra_args=['-vcodec', 'libx264'])
============================================================


The output from this script is as follows:

============================================================
0.21799993515
0.375
0.28200006485
0.31200003624
0.26500010490
0.31299996376
0.35899996757
0.32800006866
0.34399986267
0.375
0.40600013732
0.39100003242
0.42200016975
0.46899986267
0.5
0.51600003242
0.5
0.54699993133
0.57800006866
0.57799983024
0.59400010108
0.60899996757
0.64100003242
0.65599989891
0.73399996757
0.71900010108
0.73399996757
0.76600003242
0.79699993133
0.81200003624
1.04699993134
0.86000013351
0.89100003242
0.90600013732
0.92199993133
0.92199993133
1.0
1.10899996758
1.01600003242
1.03099989891
1.06200003624
1.11000013351
1.45299983025
1.21900010109
1.34299993515
1.31299996376
1.35900020599
1.39099979401
1.3900001049
1.43799996376
1.42199993134
1.45300006866
1.48399996758
1.5
1.5
1.54700016975
1.54699993134
1.625
1.625
1.625
1.65700006485
1.68700003624
1.67199993134
1.75
1.73399996758
1.73399996758
1.78200006485
1.81200003624
1.82800006866
1.8599998951
1.84299993515
1.93700003624
1.93799996376
1.98399996758
1.96900010109
2.04699993134
2.03099989891
2.03100013733
2.06299996376
2.06200003624
2.10899996758
2.125
2.17199993134
2.14100003242
2.18700003624
2.21900010109
2.2349998951
2.2650001049
2.28100013733
2.28099989891
2.29600000381
2.32899999619
2.375
2.35899996758
2.42199993134
2.46900010109
2.46799993515
2.48500013351
2.5
2.51600003242
============================================================

So every loops is slower and slower. Now, my original script is more 
complicated, and when it reaches 100th frame the single loop takes half a 
minute to finish compared to half a second after the first loop. Can someone 
suggest what is wrong with the above code, and how to avoid this time 
aggregation on every loop?

Thanks


------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to