So with an iPhoto library north of 60,000, I decided it was time to split the library up for performance sake. Problem was that iPhoto had a ~100 item delete bug. Anything more than 100 items would cause a hang. This is pretty well documented and I couldn't ever figure out a way to do delete batches of 100 with Automator. And not knowing how the underlying database of iPhoto works, I wasn't really willing to shell script it at a file level. We are talking 12 years of photos, and while I have multiple backups/exports in multiple geographical regions, I am still paranoid. It's in my job description(whatever that is these days ;-)
So with the latest iPhoto update, apparently they fixed it! Right now, I have deleted in batches of 100+, 250+, 1500+, 2500+, 4500+ and the latest of 11,500+ worked. With the old behaviour the only way you knew it was hung was the lack of CPU usage. After 20-30 seconds, the CPU would just drop off and the "Emptying iPhoto Trash" progress window would just spin.
After a few times having to Kill -9 iPhoto (Force Quit) there would invariably be some corruption. And multiple repairs/rebuilds and file level permission repairs later, I was still stuck with the 100 limit. So I would lose interest and keep putting it off.