I'm a lunatic, this is an established fact...that full moon comes up and I just....errr, nevermind. So I was getting to the point where the framework was just about finished, time to add in language support (ugh) when I decided to do a bit of profiling, just to see if I had any bottlenecks.
So I used xdebug2 (I also use it with komodo for debugging) with the profiling option. That drops files into a specific folder, then I have to use kcachegrind to view them. Only, to get kcachegrind on windows is a FUN thing. It can be done. It involves installing Cygwin and the KDE on cygwin stuff. Just follow the fairly detailed instructions and away you go. I tried to install as little as possible but I have a couple big hard drives on this dev machine (heck, I have mysql in four versions, postgresql, the new oss ingres, oracle, and firebird on this baby, not to mention php, apache, and icky IIS, which is why this thing is majorly looped through a linux box to get to the net)
So I did a nice profile and discovered a cure for featuritis. I had added lots of neat features in some of the base classes (db, cough) that no one would ever use except maybe me in some freaky special condition. So that meant the return of the great and mighty code slashing. How much code could I cut and still be ok? I also chopped an entire class, changing it into two functions, and some other rearranging. Result? quite a bit of speedup and a much nicer code flow.
note to self, when featuritis lurks, profile the code and the dreaded disease will run away like a scared puppy...