I need to look into working out how much memory certain tasks use, and how much time they take to complete. I also have to work out min and max memory usage, min and max processor load, as well as average processor load.

Well, I found the first part: Tobi + C# = T# has a post talking about Memory and Timing tests. Well, the main focus of that post is memory, and the timing post is here.

The MSDN also has quite a large document on measuring .NET app performance, part of the “Improving .NET Application Performance and Scalability” guide, and that has a lot of interesting stuff. only thing is that this should be as programmable as possible: I want to be able to log all the data somewhere so I can chart it in Excel, give info about what’s going, etc.