See:
http://www.dotnetcharting.com/
There are 2 different "rates" that you're talking about.
The rate to get data out of the datastore (usually a database).
The rate to render the data.
You also want to seperate the code which gets the data (datalayer) from the
code whichs presents it ( presentation layer, dotnetcharting for example).
Take a look at
5/24/2006
Custom Objects/Collections and Tiered Development
http://sholliday.spaces.live.com/blog/
That will show you "layered" or "tiered" development.
It will also allow you to time the 2 rates your speaking of, without mixing
the two.