This morning I sat down at my desk, opened up my MacBook Pro and started my day; with a cup of coffee mind you. After checking e-mail I decided to plug in my Iomega hard-drive in order to initiate a backup of my system using Apple's Time Machine. It hadn't been long since I backed up so Time Machine had very little to synchronize with the external hard-drive. During the 2-3 minute sync my CPU - a 2.6 GHz Core 2 Duo beast - sky-rocketed to 100% CPU utilization. In fact, when looking at Activity Monitor, Safari reported it was using over 110% of available CPU power. Huh? While sitting baffled, Time Machine finished its task and shut down. CPU remained pegged for another 2-3 minutes as I monitored Activity Monitor. The entire time I was watching the culprit was Safari. All other applications were either idle or using a very small amount of CPU.
Wondering what in the world Safari 3 could be doing to require so much juice I quickly strolled over to the Space (you use Spaces on Leopard right?) occupying the browser. The tab immediately visible was Seesmic.com. I created a Seesmic account yesterday after receiving an invite from Critter, and had been watching several recent user videos. On a whim, I closed the Seesmic tab, switched back to Activity Monitor and waited. About 6 seconds later CPU returned to normal.
The conclusion: Something on Seesmic caused my browser, as a client to the Web site, to need way more resources than normal. Given Seesmic is built very heavily on Flash technology and utilizes the Flash Player in the browser, I'm guessing my problem began in the player. The Flash Player, as awesome as it is, has a tendency to run away with the CPU on occasion. During my 7 years of developing software for the Flash player I've seen it happen dozens of times. In some cases it was programmer error; writing bad code (typically loops or errant Object/MovieClip creation). In other cases, the Flash Player seemed to leak memory on it's own until it was shut down (typically requiring an entire restart of the browser).
I don't know what caused the problem on Seesmic, and I guess there's a slight chance it had nothing to do with Seesmic. Nevertheless, their huge use of Flash video technology - and the amount of resources on the client needed to consume the video - could've been part of the problem. Who knows whether the issue could've been resolved by the Flash developers or whether it was just a problem with Flash Player 9. The site is still in very early alpha release, so I'm expecting things to get much more buttoned up.












