Adjust performance claims

Document the latest benchmarks on the Nexus 5X and change the "2-4x"
overall claim to "2-6x".  The peak performance on x86 platforms was
already closer to 5x, and the addition of SIMD-accelerated Huffman
encoding gave it that extra push over the cliff.
This commit is contained in:
DRC
2016-02-03 14:02:13 -06:00
parent cf888486d1
commit fe11699d90
5 changed files with 29 additions and 22 deletions

View File

@@ -69,21 +69,28 @@ setting the JSIMD_NOHUFFENC environment variable to 1.
[13] Added SIMD acceleration for Huffman encoding on NEON-capable ARM 32-bit [13] Added SIMD acceleration for Huffman encoding on NEON-capable ARM 32-bit
platforms. This speeds up the compression of full-color JPEGs by about 30% on platforms. This speeds up the compression of full-color JPEGs by about 30% on
average. For the purposes of benchmarking or regression testing, average on a Cortex-A9 core (iPhone 4S) and by about 6-7% on average on
SIMD-accelerated Huffman encoding can be disabled by setting the Cortex-A53 and Cortex-A57 cores. For the purposes of benchmarking or
JSIMD_NOHUFFENC environment variable to 1. regression testing, SIMD-accelerated Huffman encoding can be disabled by
setting the JSIMD_NOHUFFENC environment variable to 1.
[14] Added ARM 64-bit (ARMv8) NEON SIMD implementations of the commonly-used [14] Added ARM 64-bit (ARMv8) NEON SIMD implementations of the commonly-used
compression algorithms (including the slow integer forward DCT and h2v2 & h2v1 compression algorithms (including the slow integer forward DCT and h2v2 & h2v1
downsampling algorithms, which are not accelerated in the 32-bit NEON downsampling algorithms, which are not accelerated in the 32-bit NEON
implementation.) This speeds up the overall 64-bit compression performance by implementation.) This speeds up the compression of full-color JPEGs by about
about 2x on ARMv8 processors. 75% on average on a Cavium ThunderX processor and by about 2-2.5x on average on
Cortex-A53 and Cortex-A57 cores.
[15] pkg-config (.pc) scripts are now included for both the libjpeg and [15] pkg-config (.pc) scripts are now included for both the libjpeg and
TurboJPEG API libraries on Un*x systems. Note that if a project's build system TurboJPEG API libraries on Un*x systems. Note that if a project's build system
relies on these scripts, then it will not be possible to build that project relies on these scripts, then it will not be possible to build that project
with libjpeg or with a prior version of libjpeg-turbo. with libjpeg or with a prior version of libjpeg-turbo.
[16] Optimized the ARM 64-bit (ARMv8) NEON SIMD decompression routines to
improve performance on CPUs with in-order pipelines. This speeds up the
decompression of full-color JPEGs by nearly 2x on average on a Cavium ThunderX
processor and by about 15% on average on a Cortex-A53 core.
1.4.2 1.4.2
===== =====

View File

@@ -4,7 +4,7 @@ Background
libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2,
NEON, AltiVec) to accelerate baseline JPEG compression and decompression on NEON, AltiVec) to accelerate baseline JPEG compression and decompression on
x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is
generally 2-4x as fast as libjpeg, all else being equal. On other types of generally 2-6x as fast as libjpeg, all else being equal. On other types of
systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by
virtue of its highly-optimized Huffman coding routines. In many cases, the virtue of its highly-optimized Huffman coding routines. In many cases, the
performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs. performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs.

View File

@@ -1,4 +1,4 @@
libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is generally 2-4x as fast as libjpeg, all else being equal. On other types of systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by virtue of its highly-optimized Huffman coding routines. In many cases, the performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs. libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg, all else being equal. On other types of systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by virtue of its highly-optimized Huffman coding routines. In many cases, the performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs.
libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API. libjpeg-turbo also features colorspace extensions that allow it to compress from/decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java interface. libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API. libjpeg-turbo also features colorspace extensions that allow it to compress from/decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java interface.

View File

@@ -11,7 +11,7 @@ Description: A SIMD-accelerated JPEG codec that provides both the libjpeg and Tu
libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2,
NEON, AltiVec) to accelerate baseline JPEG compression and decompression on NEON, AltiVec) to accelerate baseline JPEG compression and decompression on
x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is
generally 2-4x as fast as libjpeg, all else being equal. On other types of generally 2-6x as fast as libjpeg, all else being equal. On other types of
systems, libjpeg-turbo can still outperform libjpeg by a significant amount, systems, libjpeg-turbo can still outperform libjpeg by a significant amount,
by virtue of its highly-optimized Huffman coding routines. In many cases, the by virtue of its highly-optimized Huffman coding routines. In many cases, the
performance of libjpeg-turbo rivals that of proprietary high-speed JPEG performance of libjpeg-turbo rivals that of proprietary high-speed JPEG

View File

@@ -46,7 +46,7 @@ Provides: %{name} = %{version}-%{release}, @PACKAGE_NAME@ = %{version}-%{release
libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2,
NEON, AltiVec) to accelerate baseline JPEG compression and decompression on NEON, AltiVec) to accelerate baseline JPEG compression and decompression on
x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is
generally 2-4x as fast as libjpeg, all else being equal. On other types of generally 2-6x as fast as libjpeg, all else being equal. On other types of
systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by
virtue of its highly-optimized Huffman coding routines. In many cases, the virtue of its highly-optimized Huffman coding routines. In many cases, the
performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs. performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs.