There's another ineffeciency that's a bit harder to see.
One of our product images -
http://shop.viosport.com/store/images/16140.jpg is 23K. Whenever someone loads a product listing with that image on there, x-cart would normally load the 23K image, then just give the IMG tag a width attribute of 70. That makes your thumbnails look horrible and is a waste of 21K as the thumbnail for that product, at 70 pixels wide (
http://shop.viosport.com/store/images/thumbnails/16140.jpg) is only 2K.
I have some nice code that keeps images in the database as well as on the filesystem, so it's no major modification to x-cart's existing code. Our store pages have experienced significantly lower load times since I implemented this change.
I know why storing images in the db vs. on the filesystem would even need to be an option in future versions. The ONLY benefit I can see to storing them in the database is that some systems may have difficulties (due to permissions / shared hosting / disk quotas / etc) getting the images on the filesystem to work through the product modification pages.
Just my two cents.
--Kurt