Compiling code in GCC
Our resident developer, Bruno Ferreira, helped put together this code compiling test. Qtbench tests the time required to compile the QT SDK using the GCC compiler. Here's Bruno's note about how he built it:
QT SDK 2010.05 - Windows, compiled via the included MinGW port of GCC 4.4.0.
Even though apparently at the time the Linux version had properly working and supported multithreaded compilation, the Windows version had to be somewhat hacked to achieve the same functionality, due to some batch file snafus.
After a working multithreaded compile was obtained (with the number of simultaneous jobs configurable), it was time to get the compile time down from 45m+ to a manageable level. This required severe hacking of the makefiles in order to strip the build down to a more streamlined version that preferably would still compile before hell froze over.
Then some more fiddling was required in order for the test to be flexible about the paths where it was located. Which led to yet more Makefile mangling (the poor thing).
The number of jobs dispatched by the Qtbench script is configurable, and the compiler does some multithreading of its own, so we did some calibration testing to determine the optimal number of jobs for each CPU.
The 4770K isn't much faster than the 3770K, percentage-wise. Still, I like these benchmarks that show time to completion, because we know that completing this particular compile task will take 34 seconds less of your time on the 4770K. For the right user, that may be very much worth the price of entry.
TrueCrypt disk encryption
TrueCrypt supports acceleration via Intel's AES-NI instructions, so the encoding of the AES algorithm, in particular, should be very fast on the CPUs that support those instructions. We've also included results for another algorithm, Twofish, that isn't accelerated via dedicated instructions.
7-Zip file compression and decompression
With the puzzling exception of 7-Zip compression, the 4770K achieves modest but consistent gains over the 3770K in our productivity-oriented tests.
x264 HD video encoding
We've devised a new x264 test, which involves one of the latest builds of the encoder with AVX2 and FMA support. To test, we encoded a one-minute, 1080p .m2ts video using the following options:
--profile high --preset medium --crf 18 --video-filter resize:1280,720 --force-cfr
The source video was obtained from a repository of stock videos on this website. We used the Samsung Earth from Above clip.
Handbrake HD video encoding
Our Handbrake test transcodes a two-and-a-half-minute 1080p H.264 source video into a smaller format defined by the program's "iPhone & iPod Touch" preset.
The Panorama Factory photo stitching
The Panorama Factory handles an increasingly popular image processing task: joining together multiple images to create a wide-aspect panorama. This task can require lots of memory and can be computationally intensive, so The Panorama Factory comes in a 64-bit version that's widely multithreaded. I asked it to join four pictures, each eight megapixels, into a glorious panorama of the interior of Damage Labs.
picCOLOR image processing and analysis
picCOLOR was created by Dr. Reinert H. G. Müller of the FIBUS Institute. This isn't Photoshop; picCOLOR's image analysis capabilities can be used for scientific applications like particle flow analysis. Dr. Müller has supplied us with new revisions of his program for some time now, all the while optimizing picCOLOR for new advances in CPU technology, including SSE and AVX extensions, multiple cores, and Hyper-Threading. Many of its individual functions are multithreaded.
At our request, Dr. Müller graciously agreed to re-tool his picCOLOR benchmark to incorporate some real-world usage scenarios. As a result, we now have four tests that employ picCOLOR for image analysis: particle image velocimetry, real-time object tracking, a bar-code search, and label recognition and rotation. For the sake of brevity, we've included a single overall score for those real-world tests.
The pattern holds through a range of different application types: Haswell is a little faster than Ivy Bridge, but the improvements in non-AVX2/FMA-enhanced applications are generally fairly minor. You've probably also noticed that the 4950HQ's massive L4 cache hasn't granted it any noticeable advantage. Fortunately, that's about to change.