Skip to content
Konstantin Nosov edited this page Feb 20, 2017 · 27 revisions

Test results

###Compared versions

For comparison we used Win32 assembly-based optimized version ("Asm"), Win32 C-based version ("C"), Win32 DLL-based version ("DLL") and Win32 C-based version built from original sources ("Orig"). "DLL based version" utilized prebuilt zlib 1.2.3 obtained from Winimage zlib page. These DLL files were built from zlib with official Assembly patches.

Tests were built using Visual Studio 2010 with speed optimization.

###Used data sets

For testing we used 3 data sets.

  1. Unreal engine 4 source code (Engine/Source)
  2. Unreal engine 4 binaries (Engine/Binaries/Win64)
  3. Graphical files containing geometry and textures in tif and png formats.

###Win64 notes

For 32-bit target, optimized assembly version is ~5% faster than optimized C version. For 64-bit target, original C implementation ("Orig") is 6-10% slower than 32-bit build. The same is for "DLL" build. However optimized C version ("C") is faster on 64 bit than on 32-bit, so code gets additional performance boost just because of its 64-bitness.

###Linux notes

I've tested library on 32-bit Ubuntu, compiled with GCC 5.4.0. Optimized code performs 1-4% slower than Win32 version. Original zlib implementation performs 7-8% slower.

###Results

Clone this wiki locally