Useful tips I found to speed up iPhoto
Vacuuming iPhoto database (MacWorld)
Using a terminal program, get into the iPhoto library directory, then run this command
for dbase in *.db; do sqlite3 $dbase "vacuum;"; done
Rebuild iPhoto Library
Hold down <Option> and <Command> when starting iPhoto. When greeted with the Rebuild Photo Library dialog, check the “Rebuild all of the photos’ thumbnails” and the “Examine and repair iPhoto Library file permissions” boxes.