I've just tested with 55 pcs of 5+ MB images:
Imagemagick's getImageGeometry took 5.3 seconds
(because after each file you have to recreate the imagick object), while getimagesize went thru the images in 0.032 seconds
. The latter is more than acceptable.
If not, store the dimensions in the database.
EDIT: Also, if you get the files through TCPIP, that slows down the process considerably. So, if you call it this way:
getimagesize('http://www.blabla.com/pic.jpg');
Instead of
getimagesize('localdir/hereiam/pic.jpg');
you get some network overhead.
Plus, if those pictures consistently have EXIF data (made with a digital camera), then you can use the PHP exif_ functions, like: exif_read_data.
Question: which PHP version you are using? Older 4.x versions had smaller problems regarding getimagesize on certain filesystems.