I recently made some changes to my build server to do post-build optimizations such as optimizing PNG and JPEG images, minifying JavaScript and CSS, and then deploying my full project to the production environment.
For JS optimization I am using UglifyJS on every JavaScript file in the website root. For PNG images I am using PNGCRUSH, which will brute-force the best optimization technique for every image (this is the one taking the longest time). For JPEG optimization I am using ImageMagick.
In general, what I want to know is this: How do larger corporations avoid having long build/deployment times?
I can live with 8 hours of build time, since my server only builds at saturdays, and at night. However, I can easily imagine this problem getting worse.
Am I doing something wrong?
pngcrush without the -brute option runs about 15 times as fast as "pngcrush -brute" but achieves nearly the same compression. The -brute option generally only squeezes the images a small fraction of a percent more, if any.