In an effort to reduce the number of things I've been juggling, I've spent this weekend working on cleaning up some program, either tackling some slow points, or (re)adding features that have been lost, or downgraded while I worked with some other features. (VirtualList mode in a ListView disables grouping, for example...) Since I'm working in .NET 2.0, I've been trying to use those features.
At any rate, I've found some really nice features in 2.0 that really helped speed things up, or greately enhance usablity/look & feel.
1) SqlBulkCopy is your friend. I said this before, but it can really make an impact, especially when importing or manipulating lots of data. SqlBulkCopy it in, and let the database handle the individual transaction. It sped up certain data manipulations a factor of 10X or more over iterating through a set, and running the individual statements (even using precreated commands) I figure I've got two or three more areas to tune here.
2) New ListView features. VirtualList & grouping are two great new features. VirtualList allows you to do your own databinding. I've been able to speed up population and manipulation of a ListView in detail mode by a factor of 10X or more (I had the actual timing, but I tossed out the test project once I got everything ported over) There are a few rough edges with VirtualList, like it disables grouping, and is kinda flakey about adding & removing records, but I'm going to compile a project, and report those to the bug center. (Hopefully, the ListView will get tuned so you don't need VirtualList as early as I did, but it's a great option)
Grouping is another great feature, and easy to use. Just tell the ListView to ShowGroups, give each item a Group, and bam! grouping. (Similar to what you see in My Computer, with Drives & Removable Drives,and Other Devices, etc..) VirtualList disables it, but the code to flip it back and forth wasn't too hard to write. <grin>
3) Image manipulation. I've got a program that creates multi-monitor backgrounds by stitching together images into the large background bitmap that will span, well, multiple monitors. (It's an interesting image to make because the origin of the tiled background in the 0,0 of the primary monitor, NOT of the virtual desktop) At any rate, by moving to Whidbey, it took the time to generate the image down from about 7-12 seconds down to 1-2, without any code changes. Of course, Whidbey plays havok with the plugin architecture, but at least it's faster now <grin> And it doesn't seem to impact the system at all. (Before it would be a noticable pause while it built the 50 MB image (for three monitors))
I've seen other things recently, but I didn't note them. I'll pass them along if I remember them...