well, all of them related to the CR,
also we avoided the use of the CR views x & i since they are quite slow for the extra joins which most of the times are unnecesary.
You can see recent changes on the evaluation packages, now is well tunned, left joins is just a pain with big tables (our cr_items has about 450K rows), basically we changed to use a tcl "approach" than sql approach and its a lot more faster.
Yes, NOT IN is not optimized, see a recent commit on CR.
Most of our problems where due the interaction with the CR, since is heavily used.
All the changes we have been doing are on CVS now, but most of them where on the evaluation packages, though we fixed stuff on other packages.
For the functions I think they were on the WHERE clause.