So in case you guys were curious, we used 'valgrind --tool=callgrind' to find some of these huge overuses of functions in the code. Between Aaron's changes and mine we reduced the calling of strcmp during a particular sync operation from at least 16 million calls to around 460 thousand. Here is what that looks like in kcachegrind: <http://www.archlinux.org/~dan/before_after.png>. The before is on the left, and you can see the huge block (representing time) devoted to strcmp. This block is non-existant on the right side in the fixed version. We haven't found any more of these, but if anyone else wants to tinker and monitor their pacman operations using callgrind (it does make it run significantly slower), go for it. If you notice something like we did with setlocale and strcmp taking overdue amounts of time, then let us know. -Dan