Benchmarking the Provider Goodieness
Just to be... well.. anal about the performance benefits of the caching idea, I ran my example ASPX page again, this time writing out the Environment.TickCount for the start and the end of the process. Without caching - that is, using Activator.CreateInstance - the process took 591 milliseconds. With the constructor being cached, I tried 3 results. The first? 20 milliseconds. The second? 0. The third? 10.
Nifty.