Thursday, September 08, 2005

Optimization, Appreciation, and Spam

Some asshole has decided to spam the comments section of my blog. As a result, I now require word verification on all posts. I didn't want to disable anonymous posts, so we'll see how well this keeps out the riff-raff (as if we aren't all riff-raff already).

Yesterday I noticed the insane amounts of memory required by the Console (the app I work on at work) whenever it connects to a ScanScope. This happens due to the ScanScope sending me a lot of large images and other information the Console needs before it can allow the user to do anything. It was taking around 3 seconds and 70 MB to read a 4 MB message off the network. Not parse, read. As in get it off the socket and into a buffer. I fired up the ol' memory profiler and discovered that the application used 2 GB of heap memory in the course of reading this 4 MB message from the network. Not 2 GB at once, mind you, but that's still too much fucking memory to use to read a goddamn 4 MB message. So I spent half the day yesterday and most of today optimizing the single function responsible for this waste. I was successful in cutting this time by a factor of three and the memory usage by a factor of 20. So 3 cheers for CLR Profiler, Microsoft's free memory profiler for the .NET runtime. Another 3 cheers for Rotor, Microsoft's Shared Source implementation of the CLR and important parts of the .Net framework.

As my time at Aperio winds to a close, I'm finding that the work I've done has been appreciated. People are complimenting the application I've been working on and seem to love the changes I've made. If I can remember to do it, I'll take some before and after screenshots and post them here. One of the hardware engineers went so far as to say he's going to have an orgasm when he finally gets to use one of the features in the Console that I've finished but haven't put in the release build yet. One of my coworkers and a higher-up in the company said to give them a call when I graduate and am looking for work; and they said they'd let me do something for them as my senior project if we could come up with something that would qualify.


Post a Comment

<< Home