I am working on creating some distribution plots to analyze cloud droplet and drop features.  You can see one such plot at http://atmos.uwyo.edu/~gsever/data/rf06_1second/rf06_belowcloud_SurfaceArea_1second.pdf
This file contains 38 pages and each page has 16 panels created via MPL's AxesGrid toolkit. I am using PdfPages from pdf backend profile to construct this multi-page plot. The original code that is used to create this plot is in http://code.google.com/p/ccnworks/source/browse/trunk/parcel_drizzle/rf06_moments.py

The problem I am reporting is due to the lengthier plot creation times. It takes about 4 minutes to create such plot in my laptop. To better demonstrate the issue I created a sample script which you can use to reproduce my timing results --well based on pseudo/random data points. All my data points in the original script are float64 so I use float64 in the sample script as well.

The script is at http://atmos.uwyo.edu/~gsever/data/matplotlib/test_speed.py I also included 2 pages output running the script with nums=2 setting http://atmos.uwyo.edu/~gsever/data/matplotlib/test_speed.pdf
Comparing my original output, indeed cloud particles are not from a normal distribution :) 

Joke aside, running with nums=2 for 2 pages

time run test_speed.py
CPU times: user 12.39 s, sys: 0.10 s, total: 12.49 s
Wall time: 12.84 s

when nums=38, just like my original script, then I get similar timing to my original run

time run test.py
CPU times: user 227.39 s, sys: 1.74 s, total: 229.13 s
Wall time: 234.87 s

In addition to these longer plot creation times, 38 pages plot creation consumes about 3 GB memory.  I am wondering if there are tricks to improve plot creation times as well as more efficiently using the memory. Attempting to create two such distributions blocks my machine eating 6 GB of ram space.

Using Python 2.7, NumPy 2.0.0.dev-7e202a2, IPython 0.13.beta1, matplotlib 1.1.1rc  on Fedora 16 (x86_64)