As John later alluded to, the time for the window to come
> up is a one time cost if you are running from an
> interactive prompt. It shouldn't be paid for subsequent
> display updates.
I made some small changes which helped here - eg, deferring the
initialization of the LUTs until they are actually requested. This
shaved 0.3 s off startup time on my system. With Todd's help, I also
made some changes in the core "fromarray" in extension code which
delivered some speedups, and removed some extra checks in the
colormapping code which are not needed for data that are properly
normalized. I also think I found and fixed redundant calls to draw in
some backends due to improper event handling and hold handling that
crept into 0.65.
Here are my current numbers for a 1600x1600 image
# GTKAgg default normalization and colormapping
matplotlib 0.65 figimage : 9.97s
matplotlib 0.65 imshow : 9.91s
matplotlib CVS figimage : 5.23s
matplotlib CVS imshow : 5.18s
# GTKAgg prenormalized data and default ("hot") colormapping
matplotlib 0.65 figimage : 3.46s
matplotlib 0.65 imshow : 3.37s
matplotlib CVS figimage : 1.95s
matplotlib CVS imshow : 2.01s
# GTKAgg prenormalized data and custom grayscale colormapping
matplotlib 0.65 figimage : 2.05s
matplotlib 0.65 imshow : 1.95s
matplotlib CVS figimage : 1.15s
matplotlib CVS imshow : 1.21s
So the situation is improving. As I noted before, interaction with
plots via the toolbar should also be notably faster.
This would make a good FAQ....