Mo Hype, mo money

Been doing a load more Hype hacking. I’ve now got the new user signup process finished. This verifies you via email and is a bit more involved and sensible that the last version. It’s good. It required more in the way of framework. I slightly reshaped the Controller object to allow an arbitrary set of parameters to be passed slash delimited on the request path. The argument parts are then separated from the URL part and passed into the view class as an array. This means the view doesn’t need to know how deep it is into the “folder” hierarchy for it to access it’s arguments.

It’s getting a touch slow though so I decided to look into profiling. I found this article at OnLamp.com which describes the very useful Benchmark_Timer class, which is part of PEAR. I quickly got the output from Benchmark_Timer into CSV format and I’m now graphing it in Excel. Job’s a good ‘un.

It looks like too much time is being spent on the getLinks() function from DataObjects. Whilst DO is a great framework, I did have a suspicion it wouldn’t be the fastest thing ever. I suspect each getLinks() call results in a DB query. As getLinks() is run once per message displayed, ouch! There are ways to optimise though, even if it means going back to using a join for the core loops.