Comments (14)
Here we go...
First, Overwatch-Cast-4K-Wallpaper.bmp:
D:\rle8-master\build_gcc>TEST.BAT Overwatch-Cast-4K-Wallpaper.bmp
D:\rle8-master\build_gcc>rle8 Overwatch-Cast-4K-Wallpaper.bmp
Mode: rle8 Normal (8 Runs)
Compressed 25987472 bytes -> 16919322 bytes (65.105686 %) in 53.315750 ms. (=> 464.845465 MB/s)
[52.590900 ms .. 57.763500 ms | 429.052682 MB/s .. 471.252338 MB/s]
Decompressed in 17.763288 ms. (=> 1395.213842 MB/s)
[16.831400 ms .. 22.879200 ms | 1083.236503 MB/s .. 1472.461269 MB/s]
D:\rle8-master\build_gcc>rle8 Overwatch-Cast-4K-Wallpaper.bmp --single
Mode: rle8 Normal Single-Symbol-Mode (8 Runs)
Compressed 25987472 bytes -> 17346101 bytes (66.747935 %) in 52.709975 ms. (=> 470.187751 MB/s)
[51.873200 ms .. 57.711000 ms | 429.442993 MB/s .. 477.772426 MB/s]
Decompressed in 4.608425 ms. (=> 5377.886066 MB/s)
[3.935600 ms .. 8.682900 ms | 2854.298056 MB/s .. 6297.282395 MB/s]
D:\rle8-master\build_gcc>rle8 Overwatch-Cast-4K-Wallpaper.bmp --ultra
Mode: rle8 Ultra (8 Runs)
Compressed 25987472 bytes -> 17419684 bytes (67.031083 %) in 55.899050 ms. (=> 443.363252 MB/s)
[55.229100 ms .. 58.914700 ms | 420.668943 MB/s .. 448.741417 MB/s]
Decompressed in 17.027013 ms. (=> 1455.545099 MB/s)
[16.148000 ms .. 21.634000 ms | 1145.584940 MB/s .. 1534.777347 MB/s]
D:\rle8-master\build_gcc>rle8 Overwatch-Cast-4K-Wallpaper.bmp --extreme --x-size 8
Mode: rle8 Extreme with 8 Bit Symbols (8 Runs)
Compressed 25987472 bytes -> 16126053 bytes (62.053181 %) in 49.450538 ms. (=> 501.179276 MB/s)
[48.847700 ms .. 52.249700 ms | 474.329701 MB/s .. 507.364412 MB/s]
Decompressed in 3.649938 ms. (=> 6790.139446 MB/s)
[3.052000 ms .. 7.401000 ms | 3348.680529 MB/s .. 8120.440562 MB/s]
D:\rle8-master\build_gcc>rle8 Overwatch-Cast-4K-Wallpaper.bmp --extreme --x-size 16
Mode: rle8 Extreme with 16 Bit Symbols (8 Runs)
Compressed 25987472 bytes -> 16253530 bytes (62.543713 %) in 26.144462 ms. (=> 947.947757 MB/s)
[25.688700 ms .. 28.928800 ms | 856.709735 MB/s .. 964.766010 MB/s]
Decompressed in 3.660738 ms. (=> 6770.107006 MB/s)
[3.053500 ms .. 7.415700 ms | 3342.042504 MB/s .. 8116.451480 MB/s]
D:\rle8-master\build_gcc>rle8 Overwatch-Cast-4K-Wallpaper.bmp --extreme --x-size 32
Mode: rle8 Extreme with 32 Bit Symbols (8 Runs)
Compressed 25987472 bytes -> 16408098 bytes (63.138492 %) in 23.764612 ms. (=> 1042.877707 MB/s)
[23.319300 ms .. 26.582900 ms | 932.313051 MB/s .. 1062.792819 MB/s]
Decompressed in 3.653350 ms. (=> 6783.796952 MB/s)
[3.029700 ms .. 7.354500 ms | 3369.853096 MB/s .. 8180.210778 MB/s]
D:\rle8-master\build_gcc>rle8 Overwatch-Cast-4K-Wallpaper.bmp --extreme --x-size 64
Mode: rle8 Extreme with 64 Bit Symbols (8 Runs)
Compressed 25987472 bytes -> 16589918 bytes (63.838137 %) in 20.263725 ms. (=> 1223.051763 MB/s)
[19.605900 ms .. 24.221800 ms | 1023.193346 MB/s .. 1264.088085 MB/s]
Decompressed in 3.922300 ms. (=> 6318.635646 MB/s)
[3.031200 ms .. 7.318300 ms | 3386.522088 MB/s .. 8176.162772 MB/s]
Second, The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp:
D:\rle8-master\build_gcc>TEST.BAT "The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp"
D:\rle8-master\build_gcc>rle8 "The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp"
Mode: rle8 Normal (8 Runs)
Compressed 18432056 bytes -> 18432352 bytes (100.001606 %) in 41.589625 ms. (=> 422.657776 MB/s)
[40.776100 ms .. 45.223900 ms | 388.692227 MB/s .. 431.090232 MB/s]
Decompressed in 2.339200 ms. (=> 7514.611152 MB/s)
[1.649600 ms .. 4.780500 ms | 3677.058552 MB/s .. 10656.024737 MB/s]
D:\rle8-master\build_gcc>rle8 "The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp" --single
Mode: rle8 Normal Single-Symbol-Mode (8 Runs)
Compressed 18432056 bytes -> 18432352 bytes (100.001606 %) in 41.895800 ms. (=> 419.568988 MB/s)
[40.849500 ms .. 47.093000 ms | 373.265207 MB/s .. 430.315632 MB/s]
Decompressed in 2.360500 ms. (=> 7446.802968 MB/s)
[1.631900 ms .. 4.748900 ms | 3701.526334 MB/s .. 10771.602675 MB/s]
D:\rle8-master\build_gcc>rle8 "The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp" --ultra
Mode: rle8 Ultra (8 Runs)
Compressed 18432056 bytes -> 18432352 bytes (100.001606 %) in 41.584738 ms. (=> 422.707451 MB/s)
[40.760200 ms .. 47.045900 ms | 373.638902 MB/s .. 431.258394 MB/s]
Decompressed in 2.348987 ms. (=> 7483.300105 MB/s)
[1.656400 ms .. 4.819100 ms | 3647.606069 MB/s .. 10612.278680 MB/s]
D:\rle8-master\build_gcc>rle8 "The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp" --extreme --x-size 8
Mode: rle8 Extreme with 8 Bit Symbols (8 Runs)
Compressed 18432056 bytes -> 18418537 bytes (99.926655 %) in 40.295063 ms. (=> 436.236534 MB/s)
[39.405100 ms .. 45.923700 ms | 382.769211 MB/s .. 446.088918 MB/s]
Decompressed in 3.165913 ms. (=> 5552.326037 MB/s)
[2.405500 ms .. 6.302900 ms | 2788.903268 MB/s .. 7307.494660 MB/s]
D:\rle8-master\build_gcc>rle8 "The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp" --extreme --x-size 16
Mode: rle8 Extreme with 16 Bit Symbols (8 Runs)
Compressed 18432056 bytes -> 18420434 bytes (99.936947 %) in 20.530638 ms. (=> 856.192527 MB/s)
[19.664400 ms .. 24.847600 ms | 707.439689 MB/s .. 893.908708 MB/s]
Decompressed in 3.089138 ms. (=> 5690.319193 MB/s)
[2.378400 ms .. 5.316400 ms | 3306.406291 MB/s .. 7390.757823 MB/s]
D:\rle8-master\build_gcc>rle8 "The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp" --extreme --x-size 32
Mode: rle8 Extreme with 32 Bit Symbols (8 Runs)
Compressed 18432056 bytes -> 18422298 bytes (99.947060 %) in 21.135950 ms. (=> 831.672028 MB/s)
[20.400000 ms .. 24.934300 ms | 704.979823 MB/s .. 861.675412 MB/s]
Decompressed in 3.110175 ms. (=> 5651.829368 MB/s)
[2.424100 ms .. 5.351500 ms | 3284.719874 MB/s .. 7251.424614 MB/s]
D:\rle8-master\build_gcc>rle8 "The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp" --extreme --x-size 64
Mode: rle8 Extreme with 64 Bit Symbols (8 Runs)
Compressed 18432056 bytes -> 18424984 bytes (99.961632 %) in 20.175838 ms. (=> 871.249008 MB/s)
[19.510700 ms .. 24.565000 ms | 715.578197 MB/s .. 900.950679 MB/s]
Decompressed in 3.253150 ms. (=> 5403.433105 MB/s)
[2.350800 ms .. 6.491000 ms | 2708.084795 MB/s .. 7477.530375 MB/s]
And mixed with TurboBench results:
D:\TEXTORAMIC_benchmarking_2019-Aug-06>"turbobench_v18.05_-_build_04_May_2018" Overwatch-Cast-4K-Wallpaper.bmp -eoodle,111,119/lzturbo,10,20,30/lizard,11,21,31,41/trle -I3 -J31 -k1 -B2G
C Size ratio% C MB/s D MB/s Name File
11688248 45.0 239.87 1317.56 lzturbo 30 Overwatch-Cast-4K-Wallpaper.bmp
12718066 48.9 1.95 4042.23 oodle 119 Overwatch-Cast-4K-Wallpaper.bmp
13069385 50.3 160.05 2805.51 lizard 41 Overwatch-Cast-4K-Wallpaper.bmp
13252436 51.0 219.60 3250.06 lizard 21 Overwatch-Cast-4K-Wallpaper.bmp
13724502 52.8 827.28 2624.20 lzturbo 20 Overwatch-Cast-4K-Wallpaper.bmp
13766558 53.0 176.61 4262.34 oodle 111 Overwatch-Cast-4K-Wallpaper.bmp
13858734 53.3 874.56 3298.32 lzturbo 10 Overwatch-Cast-4K-Wallpaper.bmp
14326336 55.1 223.18 2096.95 lizard 31 Overwatch-Cast-4K-Wallpaper.bmp
15113396 58.2 296.57 4101.56 lizard 11 Overwatch-Cast-4K-Wallpaper.bmp
16056915 61.8 310.37 7745.89 trle Overwatch-Cast-4K-Wallpaper.bmp
16126053 rle8 Extreme with 8 Bit Symbols 507 MB/s 8120 MB/s ! outside TurboBench !
16253530 rle8 Extreme with 16 Bit Symbols 964 MB/s 8116 MB/s ! outside TurboBench !
16408098 rle8 Extreme with 32 Bit Symbols 1062 MB/s 8180 MB/s ! outside TurboBench !
16589918 rle8 Extreme with 64 Bit Symbols 1264 MB/s 8176 MB/s ! outside TurboBench !
16919322 rle8 Normal 471 MB/s 1472 MB/s ! outside TurboBench !
17346101 rle8 Normal Single-Symbol-Mode 477 MB/s 6297 MB/s ! outside TurboBench !
17419684 rle8 Ultra 448 MB/s 1534 MB/s ! outside TurboBench !
D:\TEXTORAMIC_benchmarking_2019-Aug-06>"turbobench_v18.05_-_build_04_May_2018" "The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp" -eoodle,111,119/lzturbo,10,20,30/lizard,11,21,31,41/trle -I3 -J31 -k1 -B2G
C Size ratio% C MB/s D MB/s Name File
16035883 87.0 195.61 1269.86 lzturbo 30 The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
17509991 95.0 1026.91 3844.02 lzturbo 20 The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
17518154 95.0 272.20 5330.26 lizard 31 The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
17586102 95.4 496.85 6158.39 lizard 11 The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
17591510 95.4 1104.84 5413.23 lzturbo 10 The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
17720783 96.1 1.71 6736.86 oodle 119 The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
17745211 96.3 94.64 5179.00 lizard 41 The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
17784060 96.5 133.69 5628.11 lizard 21 The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
18007457 97.7 217.30 7323.03 oodle 111 The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
18413460 99.9 197.58 8116.27 trle The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
18418537 rle8 Extreme with 8 Bit Symbols 446 MB/s 7307 MB/s ! outside TurboBench !
18420434 rle8 Extreme with 16 Bit Symbols 893 MB/s 7390 MB/s ! outside TurboBench !
18422298 rle8 Extreme with 32 Bit Symbols 861 MB/s 7251 MB/s ! outside TurboBench !
18424984 rle8 Extreme with 64 Bit Symbols 900 MB/s 7477 MB/s ! outside TurboBench !
18432352 rle8 Normal 431 MB/s 10656 MB/s ! outside TurboBench !
18432352 rle8 Normal Single-Symbol-Mode 430 MB/s 10771 MB/s ! outside TurboBench !
18432352 rle8 Ultra 431 MB/s 10612 MB/s ! outside TurboBench !
D:\TEXTORAMIC_benchmarking_2019-Aug-06>
Wow, congratulations for setting Pareto with rle8 Extreme on ... WoW!
Note: In the hurry forgot to start the shell in Administrative mode, results should be slightly better in it.
Filetest-wise, if you have some good one in mind I will test it as well, I find the 'girl.bmp' too "untelling", if such a file has to represent scanned old FAX dumps at least it has to feature text and logos.
Oh, and it would be interesting to run the negative modes of latest Zstd, as a complementary.
from hypersonic-rle-kit.
I have added 24 Bit and 48 Bit en-/decoders to rle8 extreme.
They seem to perform quite well on Bitmaps with large areas of flat color (see README.md
)
from hypersonic-rle-kit.
By the way, could you make a command line (.BAT) file to compile with GCC (Windows)?
I have GCC and Intel compilers, hate to use 'make' and project scripts, tried to compile with Intel first:
E:\______movies\src>dir
Volume in drive E is Sanmayce_111GB
Volume Serial Number is 1410-10F9
Directory of E:\______movies\src
08/23/2019 12:37 PM <DIR> .
08/23/2019 12:37 PM <DIR> ..
08/22/2019 12:32 PM 14,072 main.c
08/22/2019 12:32 PM 4,971 rle8.h
08/22/2019 12:32 PM 26,491 rle8_cpu.c
08/22/2019 12:32 PM 23,234 rle8_extreme_cpu.c
08/22/2019 12:32 PM 11,064 rle8_ocl.c
08/22/2019 12:32 PM 1,912 rle8_ocl_kernel.h
08/22/2019 12:32 PM 12,829 rle8_ultra_cpu.c
08/22/2019 12:32 PM 9,080 rleX_extreme_cpu.h
8 File(s) 103,653 bytes
2 Dir(s) 1,600,815,104 bytes free
E:\______movies\src>icl /Ox main.c rle8_cpu.c rle8_extreme_cpu.c rle8_ocl.c rle8_extreme_cpu.c
Intel(R) C++ Compiler XE for applications running on IA-32, Version 15.0.0.108 Build 20140726
Copyright (C) 1985-2014 Intel Corporation. All rights reserved.
main.c
E:\______movies\src\rle8.h(5): catastrophic error: cannot open source file "stdbool.h"
#include <stdbool.h>
^
E:\______movies\src>
from hypersonic-rle-kit.
Hi Georgi,
The en-/decoding speed can be heavily dependent on the target machine, so in order to get a comparable benchmark I recommend running it on your machine. :)
I've disabled OpenCL for builds that don't use premake so that you don't get any linker errors because of OpenCL + some other small portability improvements. In it's updated form I was able to compile it through both, GCC on Windows (both WSL & MSYS2) and the Intel Compiler.
Intel Compiler
cd rle8
mkdir build_icc
cd build_icc
icl /Ox ../src/*.c
GCC via MSYS2
cd rle8
mkdir build_gcc
cd build_gcc
gcc -O4 ../src/*.c -o rle8
Please let me know if your problem is resolved.
from hypersonic-rle-kit.
Thanks, will run the benchmark as soon as I have the binaries, tried the new .ZIP:
E:\rle8-master>dir
08/23/2019 12:14 PM 4,464 .gitignore
08/23/2019 12:14 PM 102 .gitmodules
08/23/2019 12:14 PM <DIR> 3rdParty
08/24/2019 08:26 AM <DIR> build_gcc
08/23/2019 12:14 PM 790 create_project.bat
08/23/2019 12:14 PM 1,269 LICENSE
08/24/2019 08:24 AM 59 makeEXE_GCC.bat
08/24/2019 08:13 AM 51 makeEXE_ICL.bat
08/23/2019 12:14 PM <DIR> premake
08/23/2019 12:14 PM 468 premake5.lua
08/23/2019 12:14 PM 1,939 project.lua
08/23/2019 12:14 PM 5,763 README.md
08/23/2019 12:14 PM <DIR> src
E:\rle8-master>makeEXE_ICL.bat
E:\rle8-master>mkdir build_icc
E:\rle8-master>cd build_icc
E:\rle8-master\build_icc>icl /Ox ../src/*.c
Intel(R) C++ Compiler XE for applications running on IA-32, Version 15.0.0.108 Build 20140726
Copyright (C) 1985-2014 Intel Corporation. All rights reserved.
main.c
../src\rle8.h(5): catastrophic error: cannot open source file "inttypes.h"
#include <inttypes.h>
^
E:\rle8-master\build_icc>
And the GCC attempt:
E:\rle8-master>dir
Volume in drive E is Sanmayce_111GB
Volume Serial Number is 1410-10F9
Directory of E:\rle8-master
08/24/2019 08:25 AM <DIR> .
08/24/2019 08:25 AM <DIR> ..
08/23/2019 12:14 PM 4,464 .gitignore
08/23/2019 12:14 PM 102 .gitmodules
08/23/2019 12:14 PM <DIR> 3rdParty
08/23/2019 12:14 PM 790 create_project.bat
08/23/2019 12:14 PM 1,269 LICENSE
08/24/2019 08:24 AM 59 makeEXE_GCC.bat
08/24/2019 08:13 AM 51 makeEXE_ICL.bat
08/23/2019 12:14 PM <DIR> premake
08/23/2019 12:14 PM 468 premake5.lua
08/23/2019 12:14 PM 1,939 project.lua
08/23/2019 12:14 PM 5,763 README.md
08/23/2019 12:14 PM <DIR> src
9 File(s) 14,905 bytes
5 Dir(s) 7,243,309,056 bytes free
E:\rle8-master>makeEXE_GCC.bat
E:\rle8-master>mkdir build_gcc
E:\rle8-master>cd build_gcc
E:\rle8-master\build_gcc>gcc -O4 ../src/*.c -o rle8
../src/main.c: In function 'main':
../src/main.c:252:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/main.c:252:5: note: use option -std=c99 or -std=gnu99 to compile your code
../src/main.c:355:18: error: redefinition of 'i'
../src/main.c:252:18: note: previous definition of 'i' was here
../src/main.c:355:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/main.c:423:7: error: 'for' loop initial declarations are only allowed in C99 mode
../src/main.c:434:11: error: 'for' loop initial declarations are only allowed in C99 mode
../src/main.c:440:13: error: 'for' loop initial declarations are only allowed in C99 mode
../src/main.c:454:26: error: redefinition of 'j'
../src/main.c:440:26: note: previous definition of 'j' was here
../src/main.c:454:13: error: 'for' loop initial declarations are only allowed in C99 mode
../src/main.c:457:26: error: redefinition of 'j'
../src/main.c:454:26: note: previous definition of 'j' was here
../src/main.c:457:13: error: 'for' loop initial declarations are only allowed in C99 mode
../src/main.c:462:26: error: redefinition of 'j'
../src/main.c:457:26: note: previous definition of 'j' was here
../src/main.c:462:13: error: 'for' loop initial declarations are only allowed in C99 mode
../src/main.c:471:15: error: 'for' loop initial declarations are only allowed in C99 mode
../src/main.c:479:28: error: redefinition of 'j'
../src/main.c:471:28: note: previous definition of 'j' was here
../src/main.c:479:15: error: 'for' loop initial declarations are only allowed in C99 mode
../src/main.c:484:28: error: redefinition of 'j'
../src/main.c:479:28: note: previous definition of 'j' was here
../src/main.c:484:15: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c: In function 'rle8m_compress':
../src/rle8_cpu.c:254:3: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:254:3: note: use option -std=c99 or -std=gnu99 to compile your code
../src/rle8_cpu.c: In function 'rle8m_decompress':
../src/rle8_cpu.c:313:3: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c: In function 'rle8_get_compress_info':
../src/rle8_cpu.c:370:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:388:17: error: redefinition of 'i'
../src/rle8_cpu.c:370:17: note: previous definition of 'i' was here
../src/rle8_cpu.c:388:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:394:18: error: conflicting types for 'i'
../src/rle8_cpu.c:388:17: note: previous definition of 'i' was here
../src/rle8_cpu.c:394:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:404:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:409:7: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c: In function 'rle8_get_compress_info_only_max_frequency':
../src/rle8_cpu.c:457:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:478:17: error: redefinition of 'i'
../src/rle8_cpu.c:457:17: note: previous definition of 'i' was here
../src/rle8_cpu.c:478:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:495:18: error: conflicting types for 'i'
../src/rle8_cpu.c:478:17: note: previous definition of 'i' was here
../src/rle8_cpu.c:495:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:505:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:510:7: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c: In function 'rle8_write_compress_info':
../src/rle8_cpu.c:538:3: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:542:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:556:15: error: redefinition of 'i'
../src/rle8_cpu.c:538:15: note: previous definition of 'i' was here
../src/rle8_cpu.c:556:3: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c: In function 'rle8_read_decompress_info':
../src/rle8_cpu.c:644:3: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:669:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:678:17: error: conflicting types for 'i'
../src/rle8_cpu.c:669:18: note: previous definition of 'i' was here
../src/rle8_cpu.c:678:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:680:7: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c: In function 'rle8_decompress_single_sse':
../src/rle8_cpu.c:702:3: error: unknown type name '__m128i'
../src/rle8_cpu.c:708:3: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c: In function 'rle8_decompress_single_avx2':
../src/rle8_cpu.c:787:3: error: unknown type name '__m256i'
../src/rle8_cpu.c:793:3: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c: In function 'rle8_decompress_multi_sse':
../src/rle8_cpu.c:871:5: error: unknown type name '__m128i'
../src/rle8_cpu.c:883:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c: In function 'rle8_decompress_multi_avx':
../src/rle8_cpu.c:948:5: error: unknown type name '__m256i'
../src/rle8_cpu.c:960:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c: In function 'rle8_decompress_with_info':
../src/rle8_cpu.c:1032:3: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:1074:11: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_cpu.c:1083:54: error: '__m128i' undeclared (first use in this function)
../src/rle8_cpu.c:1083:54: note: each undeclared identifier is reported only once for each function it appears in
../src/rle8_cpu.c:1084:25: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'bb'
../src/rle8_cpu.c:1084:25: error: 'bb' undeclared (first use in this function)
../src/rle8_cpu.c:1088:40: error: expected expression before ')' token
../src/rle8_cpu.c:1096:39: error: expected expression before ')' token
../src/rle8_cpu.c:1103:40: error: expected expression before ')' token
../src/rle8_extreme_cpu.c: In function 'rle8_extreme_single_compress':
../src/rle8_extreme_cpu.c:344:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_extreme_cpu.c:344:5: note: use option -std=c99 or -std=gnu99 to compile your code
../src/rle8_extreme_cpu.c:365:17: error: redefinition of 'i'
../src/rle8_extreme_cpu.c:344:17: note: previous definition of 'i' was here
../src/rle8_extreme_cpu.c:365:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_extreme_cpu.c: In function 'rle8_extreme_decompress_multi_sse':
../src/rle8_extreme_cpu.c:821:3: error: unknown type name '__m128i'
../src/rle8_extreme_cpu.c:856:5: error: '__m128i' undeclared (first use in this function)
../src/rle8_extreme_cpu.c:856:5: note: each undeclared identifier is reported only once for each function it appears in
../src/rle8_extreme_cpu.c:856:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:856:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:856:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:856:5: error: '_MM_HINT_T0' undeclared (first use in this function)
../src/rle8_extreme_cpu.c:864:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:864:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:864:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c: In function 'rle8_extreme_decompress_multi_avx':
../src/rle8_extreme_cpu.c:874:3: error: unknown type name '__m256i'
../src/rle8_extreme_cpu.c:909:5: error: '__m256i' undeclared (first use in this function)
../src/rle8_extreme_cpu.c:909:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:909:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:909:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:909:5: error: '_MM_HINT_T0' undeclared (first use in this function)
../src/rle8_extreme_cpu.c:917:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:917:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:917:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c: In function 'rle8_extreme_decompress_single_sse':
../src/rle8_extreme_cpu.c:924:3: error: unknown type name '__m128i'
../src/rle8_extreme_cpu.c:957:5: error: '__m128i' undeclared (first use in this function)
../src/rle8_extreme_cpu.c:957:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:957:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:957:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:957:5: error: '_MM_HINT_T0' undeclared (first use in this function)
../src/rle8_extreme_cpu.c:965:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:965:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:965:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c: In function 'rle8_extreme_decompress_single_avx':
../src/rle8_extreme_cpu.c:975:3: error: unknown type name '__m256i'
../src/rle8_extreme_cpu.c:1008:5: error: '__m256i' undeclared (first use in this function)
../src/rle8_extreme_cpu.c:1008:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:1008:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:1008:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:1008:5: error: '_MM_HINT_T0' undeclared (first use in this function)
../src/rle8_extreme_cpu.c:1016:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:1016:5: error: expected expression before ')' token
../src/rle8_extreme_cpu.c:1016:5: error: expected expression before ')' token
In file included from ../src/rle8_extreme_cpu.c:1023:0:
../src/rleX_extreme_cpu.h: In function 'rle16_extreme_decompress_sse':
../src/rleX_extreme_cpu.h:241:3: error: unknown type name '__m128i'
../src/rleX_extreme_cpu.h:275:5: error: '__m128i' undeclared (first use in this function)
../src/rleX_extreme_cpu.h:275:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:275:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:275:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:275:5: error: '_MM_HINT_T0' undeclared (first use in this function)
../src/rleX_extreme_cpu.h:283:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h: In function 'rle16_extreme_decompress_avx':
../src/rleX_extreme_cpu.h:293:3: error: unknown type name '__m256i'
../src/rleX_extreme_cpu.h:325:5: error: '__m256i' undeclared (first use in this function)
../src/rleX_extreme_cpu.h:325:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:325:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:325:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:325:5: error: '_MM_HINT_T0' undeclared (first use in this function)
../src/rleX_extreme_cpu.h:333:5: error: expected expression before ')' token
In file included from ../src/rle8_extreme_cpu.c:1027:0:
../src/rleX_extreme_cpu.h: In function 'rle32_extreme_decompress_sse':
../src/rleX_extreme_cpu.h:241:3: error: unknown type name '__m128i'
../src/rleX_extreme_cpu.h:275:5: error: '__m128i' undeclared (first use in this function)
../src/rleX_extreme_cpu.h:275:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:275:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:275:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:275:5: error: '_MM_HINT_T0' undeclared (first use in this function)
../src/rleX_extreme_cpu.h:283:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h: In function 'rle32_extreme_decompress_avx':
../src/rleX_extreme_cpu.h:293:3: error: unknown type name '__m256i'
../src/rleX_extreme_cpu.h:325:5: error: '__m256i' undeclared (first use in this function)
../src/rleX_extreme_cpu.h:325:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:325:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:325:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:325:5: error: '_MM_HINT_T0' undeclared (first use in this function)
../src/rleX_extreme_cpu.h:333:5: error: expected expression before ')' token
In file included from ../src/rle8_extreme_cpu.c:1031:0:
../src/rleX_extreme_cpu.h: In function 'rle64_extreme_decompress_sse':
../src/rleX_extreme_cpu.h:241:3: error: unknown type name '__m128i'
../src/rleX_extreme_cpu.h:275:5: error: '__m128i' undeclared (first use in this function)
../src/rleX_extreme_cpu.h:275:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:275:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:275:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:275:5: error: '_MM_HINT_T0' undeclared (first use in this function)
../src/rleX_extreme_cpu.h:283:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h: In function 'rle64_extreme_decompress_avx':
../src/rleX_extreme_cpu.h:293:3: error: unknown type name '__m256i'
../src/rleX_extreme_cpu.h:325:5: error: '__m256i' undeclared (first use in this function)
../src/rleX_extreme_cpu.h:325:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:325:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:325:5: error: expected expression before ')' token
../src/rleX_extreme_cpu.h:325:5: error: '_MM_HINT_T0' undeclared (first use in this function)
../src/rleX_extreme_cpu.h:333:5: error: expected expression before ')' token
../src/rle8_ultra_cpu.c: In function 'rle8_ultra_decompress_single_sse':
../src/rle8_ultra_cpu.c:203:3: error: unknown type name '__m128i'
../src/rle8_ultra_cpu.c:209:3: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_ultra_cpu.c:209:3: note: use option -std=c99 or -std=gnu99 to compile your code
../src/rle8_ultra_cpu.c: In function 'rle8_ultra_decompress_single_avx2':
../src/rle8_ultra_cpu.c:264:3: error: unknown type name '__m256i'
../src/rle8_ultra_cpu.c:270:3: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_ultra_cpu.c: In function 'rle8_ultra_decompress_multi_sse':
../src/rle8_ultra_cpu.c:323:5: error: unknown type name '__m128i'
../src/rle8_ultra_cpu.c:335:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_ultra_cpu.c: In function 'rle8_ultra_decompress_multi_avx':
../src/rle8_ultra_cpu.c:379:5: error: unknown type name '__m256i'
../src/rle8_ultra_cpu.c:391:5: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_ultra_cpu.c: In function 'rle8_ultra_decompress_with_info':
../src/rle8_ultra_cpu.c:453:3: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_ultra_cpu.c:495:11: error: 'for' loop initial declarations are only allowed in C99 mode
../src/rle8_ultra_cpu.c:504:54: error: '__m128i' undeclared (first use in this function)
../src/rle8_ultra_cpu.c:504:54: note: each undeclared identifier is reported only once for each function it appears in
../src/rle8_ultra_cpu.c:505:25: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'bb'
../src/rle8_ultra_cpu.c:505:25: error: 'bb' undeclared (first use in this function)
../src/rle8_ultra_cpu.c:509:40: error: expected expression before ')' token
../src/rle8_ultra_cpu.c:517:39: error: expected expression before ')' token
../src/rle8_ultra_cpu.c:524:40: error: expected expression before ')' token
E:\rle8-master\build_gcc>
Don't know enough to make it work, tried adding -std=c99 but it complained again.
from hypersonic-rle-kit.
I'm a bit confused about the running on IA-32
of your icl
output. I'm getting Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 18.0.3.210 Build 20180410
.
Are both gcc
and icl
64 bit Binaries?
Could you please provide the output of this:
gcc -v
wmic OS get OSArchitecture, Name
wmic CPU get Caption, DeviceID, Name, NumberOfCores, MaxClockSpeed
from hypersonic-rle-kit.
I have two laptops, the old one (with Core 2) running Windows XP 32bit has installed Intel v15 and GCC v4.7.2:
E:\rle8-master\build_gcc>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.7.2/lto-wrapper.exe
Target: mingw32
Configured with: ../gcc-4.7.2/configure --enable-languages=c,c++,ada,fortran,objc,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry --enable-lib
stdcxx-debug --disable-build-poststage1-with-cxx --enable-version-specific-runtime-libs --build=mingw32 --prefix=/mingw
Thread model: win32
gcc version 4.7.2 (GCC)
E:\rle8-master\build_gcc>wmic OS get OSArchitecture, Name
Node - NOVA
ERROR:
Code = 0x80041017
Description = Invalid query
Facility = WMI
E:\rle8-master\build_gcc>wmic CPU get Caption, DeviceID, Name, NumberOfCores, MaxClockSpeed
Caption DeviceID MaxClockSpeed Name NumberOfCores
x86 Family 6 Model 23 Stepping 10 CPU0 2933 Intel Pentium III Xeon processor 2
And the newer laptop i5-7200U running Windows 10 64bit has GCC v7.3.0 64bit:
D:\rle8-master>GCC -v
Using built-in specs.
COLLECT_GCC=GCC
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/7.3.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../src/configure --enable-languages=c,c++ --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --disable-multilib --prefix=/c/temp/gcc/dest --with-sysroot=/c/temp/gcc/dest --disab
le-libstdcxx-pch --disable-libstdcxx-verbose --disable-nls --disable-shared --disable-win32-registry --with-tune=haswell --enable-threads=posix --enable-libgomp
Thread model: posix
gcc version 7.3.0 (GCC)
D:\rle8-master>wmic OS
BootDevice BuildNumber BuildType Caption CodeSet CountryCode CreationClassName CSCreationClassName CSDVersion CSName CurrentTimeZone DataExecutionPrevention_32
BitApplications DataExecutionPrevention_Available DataExecutionPrevention_Drivers DataExecutionPrevention_SupportPolicy Debug Description Distributed EncryptionLevel ForegroundApplicationBoost FreePhysicalMemory
FreeSpaceInPagingFiles FreeVirtualMemory InstallDate LargeSystemCache LastBootUpTime LocalDateTime Locale Manufacturer MaxNumberOfProcesses MaxProcessMemorySize MUILa
nguages Name NumberOfLicensedUsers NumberOfProcesses NumberOfUsers OperatingSystemSKU Organization OSArchitecture OSLanguage OSProductSuite OSType OtherT
ypeDescription PAEEnabled PlusProductID PlusVersionNumber PortableOperatingSystem Primary ProductType RegisteredUser SerialNumber ServicePackMajorVersion ServicePackMinorVersion SizeStoredInPagingFiles
Status SuiteMask SystemDevice SystemDirectory SystemDrive TotalSwapSpaceSize TotalVirtualMemorySize TotalVisibleMemorySize Version WindowsDirectory
\Device\HarddiskVolume2 15063 Multiprocessor Free Microsoft Windows 10 Pro 1252 1 Win32_OperatingSystem Win32_ComputerSystem COMPRESSIONETTE -420 TRUE
TRUE TRUE 2 FALSE Compressionette FALSE 256 2 1323556
96805952 94490088 20170331221802.000000-420 20180625002836.407365-420 20180713114154.742000-420 0409 Microsoft Corporation 4294967295 137438953344 {"en-
US"} Microsoft Windows 10 Pro|C:\Windows|\Device\Harddisk0\Partition4 102 2 48 64-bit 1033 256 18
FALSE TRUE 1 Windows User 00330-80000-00000-AA286 0 0 98304000
OK 272 \Device\HarddiskVolume4 C:\Windows\system32 C: 106590348 8286348 10.0.15063 C:\Windows
D:\rle8-master>wmic CPU get Caption, DeviceID, Name, NumberOfCores, MaxClockSpeed
Caption DeviceID MaxClockSpeed Name NumberOfCores
Intel64 Family 6 Model 142 Stepping 9 CPU0 2701 Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz 2
D:\rle8-master>makeEXE_GCC.bat
D:\rle8-master>mkdir build_gcc
D:\rle8-master>cd build_gcc
D:\rle8-master\build_gcc>gcc -O4 ../src/*.c -o rle8
../src/rle8_cpu.c:14:0: warning: "_STATIC_ASSERT" redefined
#define _STATIC_ASSERT(expr) typedef char __static_assert_t[(expr) != 0]
In file included from ../src/rle8.h:6:0,
from ../src/rle8_cpu.c:1:
c:\mingw\x86_64-w64-mingw32\include\malloc.h:27:0: note: this is the location of the previous definition
#define _STATIC_ASSERT(expr) extern void __static_assert_t(int [(expr)?1:-1])
../src/rle8_extreme_cpu.c:15:0: warning: "_STATIC_ASSERT" redefined
#define _STATIC_ASSERT(expr) typedef char __static_assert_t[(expr) != 0]
In file included from ../src/rle8.h:6:0,
from ../src/rle8_extreme_cpu.c:1:
c:\mingw\x86_64-w64-mingw32\include\malloc.h:27:0: note: this is the location of the previous definition
#define _STATIC_ASSERT(expr) extern void __static_assert_t(int [(expr)?1:-1])
../src/rle8_ultra_cpu.c:13:0: warning: "_STATIC_ASSERT" redefined
#define _STATIC_ASSERT(expr) typedef char __static_assert_t[(expr) != 0]
In file included from ../src/rle8.h:6:0,
from ../src/rle8_ultra_cpu.c:1:
c:\mingw\x86_64-w64-mingw32\include\malloc.h:27:0: note: this is the location of the previous definition
#define _STATIC_ASSERT(expr) extern void __static_assert_t(int [(expr)?1:-1])
D:\rle8-master\build_gcc>
from hypersonic-rle-kit.
I think the gcc build on your i5-7200U should have produced an executable.
All of those complaints are just warnings, not errors.
from hypersonic-rle-kit.
Indeed, please wait some 30 minutes, already running successfully it, along with it for comparison running Oodle 'Selkie', Lizard, LzTurbo and trle ... on both .BMPs ....
from hypersonic-rle-kit.
And for good measure latest Zstd:
D:\rle8-master\build_gcc>zstd-v1.4.3-win64.exe -b1 -e22 --fast=22 Overwatch-Cast-4K-Wallpaper.bmp
-22#4K-Wallpaper.bmp : 25987472 -> 14662906 (1.772),1440.2 MB/s ,3344.5 MB/s
-21#4K-Wallpaper.bmp : 25987472 -> 14637066 (1.775),1424.1 MB/s ,3330.5 MB/s
-20#4K-Wallpaper.bmp : 25987472 -> 14563475 (1.784),1371.6 MB/s ,3176.6 MB/s
-19#4K-Wallpaper.bmp : 25987472 -> 14530550 (1.788),1364.1 MB/s ,3195.1 MB/s
-18#4K-Wallpaper.bmp : 25987472 -> 14506367 (1.791),1354.3 MB/s ,3216.6 MB/s
-17#4K-Wallpaper.bmp : 25987472 -> 14403366 (1.804),1289.1 MB/s ,3046.1 MB/s
-16#4K-Wallpaper.bmp : 25987472 -> 14389717 (1.806),1301.9 MB/s ,3126.6 MB/s
-15#4K-Wallpaper.bmp : 25987472 -> 14354101 (1.810),1282.7 MB/s ,3109.1 MB/s
-14#4K-Wallpaper.bmp : 25987472 -> 14270389 (1.821),1225.8 MB/s ,2979.1 MB/s
-13#4K-Wallpaper.bmp : 25987472 -> 14239381 (1.825),1208.4 MB/s ,2973.3 MB/s
-12#4K-Wallpaper.bmp : 25987472 -> 14214694 (1.828),1201.0 MB/s ,2970.1 MB/s
-11#4K-Wallpaper.bmp : 25987472 -> 14095329 (1.844),1128.4 MB/s ,2801.9 MB/s
-10#4K-Wallpaper.bmp : 25987472 -> 14057550 (1.849),1111.5 MB/s ,2818.6 MB/s
-9#-4K-Wallpaper.bmp : 25987472 -> 14012924 (1.855),1090.1 MB/s ,2803.0 MB/s
-8#-4K-Wallpaper.bmp : 25987472 -> 13874994 (1.873),1011.3 MB/s ,2617.0 MB/s
-7#-4K-Wallpaper.bmp : 25987472 -> 13825365 (1.880), 988.4 MB/s ,2637.2 MB/s
-6#-4K-Wallpaper.bmp : 25987472 -> 13757376 (1.889), 947.4 MB/s ,2601.8 MB/s
-5#-4K-Wallpaper.bmp : 25987472 -> 13567295 (1.915), 859.9 MB/s ,2385.6 MB/s
-4#-4K-Wallpaper.bmp : 25987472 -> 13530090 (1.921), 827.2 MB/s ,2445.9 MB/s
-3#-4K-Wallpaper.bmp : 25987472 -> 13315702 (1.952), 741.6 MB/s ,2266.0 MB/s
-2#-4K-Wallpaper.bmp : 25987472 -> 13033877 (1.994), 633.4 MB/s ,2028.5 MB/s
-1#-4K-Wallpaper.bmp : 25987472 -> 12930766 (2.010), 530.3 MB/s ,1998.7 MB/s
0#-4K-Wallpaper.bmp : 25987472 -> 11791905 (2.204), 179.6 MB/s , 979.2 MB/s
1#-4K-Wallpaper.bmp : 25987472 -> 12623710 (2.059), 399.4 MB/s ,1000.6 MB/s
2#-4K-Wallpaper.bmp : 25987472 -> 12033720 (2.160), 288.5 MB/s , 962.4 MB/s
3#-4K-Wallpaper.bmp : 25987472 -> 11791905 (2.204), 180.0 MB/s , 979.1 MB/s
4#-4K-Wallpaper.bmp : 25987472 -> 11528103 (2.254), 102.2 MB/s , 969.5 MB/s
5#-4K-Wallpaper.bmp : 25987472 -> 11169828 (2.327), 41.9 MB/s , 934.8 MB/s
6#-4K-Wallpaper.bmp : 25987472 -> 11085728 (2.344), 30.9 MB/s , 946.6 MB/s
7#-4K-Wallpaper.bmp : 25987472 -> 11058396 (2.350), 28.3 MB/s , 966.8 MB/s
8#-4K-Wallpaper.bmp : 25987472 -> 11043944 (2.353), 26.1 MB/s , 985.0 MB/s
9#-4K-Wallpaper.bmp : 25987472 -> 10971507 (2.369), 25.2 MB/s , 987.5 MB/s
10#-4K-Wallpaper.bmp : 25987472 -> 10766983 (2.414), 21.3 MB/s , 884.9 MB/s
11#-4K-Wallpaper.bmp : 25987472 -> 10710668 (2.426), 21.1 MB/s , 858.8 MB/s
12#-4K-Wallpaper.bmp : 25987472 -> 10696935 (2.429), 19.8 MB/s , 859.9 MB/s
13#-4K-Wallpaper.bmp : 25987472 -> 10706388 (2.427), 14.1 MB/s , 870.1 MB/s
14#-4K-Wallpaper.bmp : 25987472 -> 10672393 (2.435), 13.6 MB/s , 859.4 MB/s
15#-4K-Wallpaper.bmp : 25987472 -> 10650716 (2.440), 12.0 MB/s , 852.9 MB/s
16#-4K-Wallpaper.bmp : 25987472 -> 10528725 (2.468), 11.0 MB/s , 855.2 MB/s
17#-4K-Wallpaper.bmp : 25987472 -> 10269064 (2.531), 8.24 MB/s , 622.8 MB/s
18#-4K-Wallpaper.bmp : 25987472 -> 9867668 (2.634), 6.39 MB/s , 485.7 MB/s
19#-4K-Wallpaper.bmp : 25987472 -> 9820314 (2.646), 5.37 MB/s , 473.2 MB/s
20#-4K-Wallpaper.bmp : 25987472 -> 9759551 (2.663), 5.34 MB/s , 509.3 MB/s
21#-4K-Wallpaper.bmp : 25987472 -> 9757421 (2.663), 5.05 MB/s , 511.1 MB/s
22#-4K-Wallpaper.bmp : 25987472 -> 9754701 (2.664), 4.53 MB/s , 511.1 MB/s
D:\rle8-master\build_gcc>zstd-v1.4.3-win64.exe -b1 -e22 --fast=22 "The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp"
-22#de_3840x1600.bmp : 18432056 -> 18018450 (1.023),1787.6 MB/s ,5426.2 MB/s _Horde_3840x1600.bmp...
-21#de_3840x1600.bmp : 18432056 -> 18013472 (1.023),1773.1 MB/s ,5379.7 MB/s _Horde_3840x1600.bmp...
-20#de_3840x1600.bmp : 18432056 -> 18002203 (1.024),1728.8 MB/s ,5325.9 MB/s _Horde_3840x1600.bmp...
-19#de_3840x1600.bmp : 18432056 -> 17995167 (1.024),1718.4 MB/s ,5295.1 MB/s _Horde_3840x1600.bmp...
-18#de_3840x1600.bmp : 18432056 -> 17998517 (1.024),1720.3 MB/s ,5324.1 MB/s _Horde_3840x1600.bmp...
-17#de_3840x1600.bmp : 18432056 -> 17978852 (1.025),1675.1 MB/s ,5165.2 MB/s _Horde_3840x1600.bmp...
-16#de_3840x1600.bmp : 18432056 -> 17968817 (1.026),1658.3 MB/s ,5144.0 MB/s _Horde_3840x1600.bmp...
-15#de_3840x1600.bmp : 18432056 -> 17962194 (1.026),1639.3 MB/s ,5107.7 MB/s _Horde_3840x1600.bmp...
-14#de_3840x1600.bmp : 18432056 -> 17945166 (1.027),1597.5 MB/s ,5022.6 MB/s _Horde_3840x1600.bmp...
-13#de_3840x1600.bmp : 18432056 -> 17923771 (1.028),1573.6 MB/s ,4969.1 MB/s _Horde_3840x1600.bmp...
-12#de_3840x1600.bmp : 18432056 -> 17927002 (1.028),1560.4 MB/s ,4975.2 MB/s _Horde_3840x1600.bmp...
-11#de_3840x1600.bmp : 18432056 -> 17899320 (1.030),1515.2 MB/s ,4854.7 MB/s _Horde_3840x1600.bmp...
-10#de_3840x1600.bmp : 18432056 -> 17869462 (1.031),1490.7 MB/s ,4775.0 MB/s _Horde_3840x1600.bmp...
-9#rde_3840x1600.bmp : 18432056 -> 17872571 (1.031),1470.6 MB/s ,4784.7 MB/s _Horde_3840x1600.bmp...
-8#rde_3840x1600.bmp : 18432056 -> 17835686 (1.033),1420.3 MB/s ,4610.4 MB/s _Horde_3840x1600.bmp...
-7#rde_3840x1600.bmp : 18432056 -> 17813794 (1.035),1383.4 MB/s ,4574.8 MB/s _Horde_3840x1600.bmp...
-6#rde_3840x1600.bmp : 18432056 -> 17806862 (1.035),1353.4 MB/s ,4607.2 MB/s _Horde_3840x1600.bmp...
-5#rde_3840x1600.bmp : 18432056 -> 17737423 (1.039),1279.0 MB/s ,4299.3 MB/s _Horde_3840x1600.bmp...
-4#rde_3840x1600.bmp : 18432056 -> 17718919 (1.040),1230.5 MB/s ,4263.9 MB/s _Horde_3840x1600.bmp...
-3#rde_3840x1600.bmp : 18432056 -> 17682027 (1.042),1168.0 MB/s ,4157.5 MB/s _Horde_3840x1600.bmp...
-2#rde_3840x1600.bmp : 18432056 -> 17608136 (1.047),1067.4 MB/s ,3914.2 MB/s _Horde_3840x1600.bmp...
-1#rde_3840x1600.bmp : 18432056 -> 17585736 (1.048), 951.4 MB/s ,3838.9 MB/s _Horde_3840x1600.bmp...
0#rde_3840x1600.bmp : 18432056 -> 16139172 (1.142), 168.3 MB/s , 606.2 MB/s _Horde_3840x1600.bmp...
1#rde_3840x1600.bmp : 18432056 -> 16728252 (1.102), 429.5 MB/s , 640.7 MB/s _Horde_3840x1600.bmp...
2#rde_3840x1600.bmp : 18432056 -> 16337455 (1.128), 306.8 MB/s , 621.5 MB/s _Horde_3840x1600.bmp...
3#rde_3840x1600.bmp : 18432056 -> 16139172 (1.142), 169.3 MB/s , 606.0 MB/s _Horde_3840x1600.bmp...
4#rde_3840x1600.bmp : 18432056 -> 15937833 (1.156), 76.4 MB/s , 580.2 MB/s _Horde_3840x1600.bmp...
5#rde_3840x1600.bmp : 18432056 -> 15650583 (1.178), 21.8 MB/s , 545.2 MB/s _Horde_3840x1600.bmp...
6#rde_3840x1600.bmp : 18432056 -> 15573832 (1.184), 15.1 MB/s , 542.3 MB/s _Horde_3840x1600.bmp...
7#rde_3840x1600.bmp : 18432056 -> 15566229 (1.184), 14.3 MB/s , 547.1 MB/s _Horde_3840x1600.bmp...
8#rde_3840x1600.bmp : 18432056 -> 15569666 (1.184), 13.6 MB/s , 547.1 MB/s _Horde_3840x1600.bmp...
9#rde_3840x1600.bmp : 18432056 -> 15509718 (1.188), 13.6 MB/s , 536.3 MB/s _Horde_3840x1600.bmp...
10#rde_3840x1600.bmp : 18432056 -> 15367608 (1.199), 11.2 MB/s , 484.0 MB/s _Horde_3840x1600.bmp...
11#rde_3840x1600.bmp : 18432056 -> 15294587 (1.205), 11.3 MB/s , 463.1 MB/s _Horde_3840x1600.bmp...
12#rde_3840x1600.bmp : 18432056 -> 15287844 (1.206), 10.9 MB/s , 463.5 MB/s _Horde_3840x1600.bmp...
13#rde_3840x1600.bmp : 18432056 -> 15308463 (1.204), 8.10 MB/s , 471.8 MB/s _Horde_3840x1600.bmp...
14#rde_3840x1600.bmp : 18432056 -> 15262136 (1.208), 8.12 MB/s , 459.7 MB/s _Horde_3840x1600.bmp...
15#rde_3840x1600.bmp : 18432056 -> 15245394 (1.209), 7.41 MB/s , 456.0 MB/s _Horde_3840x1600.bmp...
16#rde_3840x1600.bmp : 18432056 -> 15155712 (1.216), 7.19 MB/s , 458.8 MB/s _Horde_3840x1600.bmp...
17#rde_3840x1600.bmp : 18432056 -> 14305689 (1.288), 4.46 MB/s , 304.8 MB/s _Horde_3840x1600.bmp...
18#rde_3840x1600.bmp : 18432056 -> 14116770 (1.306), 3.73 MB/s , 216.9 MB/s _Horde_3840x1600.bmp...
19#rde_3840x1600.bmp : 18432056 -> 14081228 (1.309), 3.50 MB/s , 209.9 MB/s _Horde_3840x1600.bmp...
20#rde_3840x1600.bmp : 18432056 -> 14048047 (1.312), 3.53 MB/s , 240.1 MB/s _Horde_3840x1600.bmp...
21#rde_3840x1600.bmp : 18432056 -> 14048077 (1.312), 3.71 MB/s , 240.4 MB/s _Horde_3840x1600.bmp...
22#rde_3840x1600.bmp : 18432056 -> 14048077 (1.312), 3.79 MB/s , 240.2 MB/s _Horde_3840x1600.bmp...
D:\rle8-master\build_gcc>
Zstd has become much faster, it sets Pareto frontier, the FASTEST compressor?
from hypersonic-rle-kit.
Wow, that's impressive!
A 24 bit run length encoding might produce much better compression ratios with BMPs, potentially I can add one to rle8.
from hypersonic-rle-kit.
Right, that's one of the hidden aspects/properties of benchmarking - it reveals hidden potential/scenarios.
13766558 53.0 176.61 4262.34 oodle 111 Overwatch-Cast-4K-Wallpaper.bmp
13858734 53.3 874.56 3298.32 lzturbo 10 Overwatch-Cast-4K-Wallpaper.bmp
14662906 zstd -22 1440 3344 ! outside TurboBench ! Overwatch-Cast-4K-Wallpaper.bmp
15113396 58.2 296.57 4101.56 lizard 11 Overwatch-Cast-4K-Wallpaper.bmp
16056915 61.8 310.37 7745.89 trle Overwatch-Cast-4K-Wallpaper.bmp
16126053 rle8 Extreme with 8 Bit Symbols 507 MB/s 8120 MB/s ! outside TurboBench ! Overwatch-Cast-4K-Wallpaper.bmp
18007457 97.7 217.30 7323.03 oodle 111 The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
18018450 zstd -22 1787 5426 ! outside TurboBench ! The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
18413460 99.9 197.58 8116.27 trle The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
18418537 rle8 Extreme with 8 Bit Symbols 446 MB/s 7307 MB/s ! outside TurboBench ! The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
Very telling is this 'Overwatch' testfile.
from hypersonic-rle-kit.
This latest .ZIP package compiles without any warnings with GCC v7.3.0.
The CAST:
E:\rle8-master>rle8.exe Overwatch-Cast-4K-Wallpaper.bmp --extreme --x-size 24
Mode: rle8 Extreme with 24 Bit Symbols (8 Runs)
Compressed 25987472 bytes -> 14993816 bytes (57.696324 %) in 32.275050 ms. (=> 767.886792 MB/s)
[29.647600 ms .. 50.494600 ms | 490.816535 MB/s .. 835.938983 MB/s]
Decompressed in 3.987950 ms. (=> 6214.617684 MB/s)
[3.080300 ms .. 8.504200 ms | 2914.275840 MB/s .. 8045.834690 MB/s]
E:\rle8-master>rle8.exe Overwatch-Cast-4K-Wallpaper.bmp --extreme --x-size 48
Mode: rle8 Extreme with 48 Bit Symbols (8 Runs)
Compressed 25987472 bytes -> 15598296 bytes (60.022368 %) in 24.035675 ms. (=> 1031.116646 MB/s)
[23.216000 ms .. 28.935900 ms | 856.499525 MB/s .. 1067.521735 MB/s]
Decompressed in 3.878262 ms. (=> 6390.383476 MB/s)
[2.995700 ms .. 7.643400 ms | 3242.481696 MB/s .. 8273.052907 MB/s]
E:\rle8-master>rle8.exe Overwatch-Cast-4K-Wallpaper.bmp --extreme --x-size 24 --runs 128
Mode: rle8 Extreme with 24 Bit Symbols (128 Runs)
Compressed 25987472 bytes -> 14993816 bytes (57.696324 %) in 29.744995 ms. (=> 833.201832 MB/s)
[29.625400 ms .. 35.435300 ms | 699.403832 MB/s .. 836.565400 MB/s]
Decompressed in 3.121477 ms. (=> 7939.699081 MB/s)
[3.012000 ms .. 7.661200 ms | 3234.948128 MB/s .. 8228.281738 MB/s]
E:\rle8-master>rle8.exe Overwatch-Cast-4K-Wallpaper.bmp --extreme --x-size 48 --runs 128
Mode: rle8 Extreme with 48 Bit Symbols (128 Runs)
Compressed 25987472 bytes -> 15598296 bytes (60.022368 %) in 23.350636 ms. (=> 1061.366580 MB/s)
[23.189400 ms .. 32.828800 ms | 754.934222 MB/s .. 1068.746263 MB/s]
Decompressed in 3.052347 ms. (=> 8119.517738 MB/s)
[2.937900 ms .. 8.468400 ms | 2926.595885 MB/s .. 8435.816262 MB/s]
The Banshee:
E:\rle8-master>rle8.exe "The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp" --extreme --x-size 24 --runs 128
Mode: rle8 Extreme with 24 Bit Symbols (128 Runs)
Compressed 18432056 bytes -> 18130354 bytes (98.363167 %) in 24.169111 ms. (=> 727.299339 MB/s)
[23.885000 ms .. 52.716300 ms | 333.448637 MB/s .. 735.950530 MB/s]
Decompressed in 2.433659 ms. (=> 7222.943453 MB/s)
[2.338700 ms .. 6.446800 ms | 2726.651735 MB/s .. 7516.217730 MB/s]
E:\rle8-master>rle8.exe "The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp" --extreme --x-size 48 --runs 128
Mode: rle8 Extreme with 48 Bit Symbols (128 Runs)
Compressed 18432056 bytes -> 18267592 bytes (99.107728 %) in 22.657193 ms. (=> 775.832136 MB/s)
[22.452900 ms .. 28.316600 ms | 620.772918 MB/s .. 782.891226 MB/s]
Decompressed in 2.416509 ms. (=> 7274.202446 MB/s)
[2.324000 ms .. 6.313600 ms | 2784.176762 MB/s .. 7563.760071 MB/s]
Congratulations Christoph, your 24bit RLE sets Pareto for Decompression, on both beauties.
13766558 53.0 176.61 4262.34 oodle 111 Overwatch-Cast-4K-Wallpaper.bmp
13858734 53.3 874.56 3298.32 lzturbo 10 Overwatch-Cast-4K-Wallpaper.bmp
14662906 zstd -22 1440 3344 ! outside TurboBench ! Overwatch-Cast-4K-Wallpaper.bmp
14993816 rle8 Extreme with 24 Bit Symbols 836 MB/s 8228 MB/s ! outside TurboBench ! Overwatch-Cast-4K-Wallpaper.bmp
15113396 58.2 296.57 4101.56 lizard 11 Overwatch-Cast-4K-Wallpaper.bmp
15598296 rle8 Extreme with 48 Bit Symbols 1068 MB/s 8435 MB/s ! outside TurboBench ! Overwatch-Cast-4K-Wallpaper.bmp
16056915 61.8 310.37 7745.89 trle Overwatch-Cast-4K-Wallpaper.bmp
16126053 rle8 Extreme with 8 Bit Symbols 507 MB/s 8120 MB/s ! outside TurboBench ! Overwatch-Cast-4K-Wallpaper.bmp
18007457 97.7 217.30 7323.03 oodle 111 The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
18018450 zstd -22 1787 5426 ! outside TurboBench ! The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
18130354 rle8 Extreme with 24 Bit Symbols 735 MB/s 7516 MB/s ! outside TurboBench ! The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
18267592 rle8 Extreme with 48 Bit Symbols 782 MB/s 7563 MB/s ! outside TurboBench ! The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
18413460 99.9 197.58 8116.27 trle The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
18418537 rle8 Extreme with 8 Bit Symbols 446 MB/s 7307 MB/s ! outside TurboBench ! The_Undead_Lady_Sylvanas_Windrunner_(The_Banshee_Queen)_Warchief_of_the_Horde_3840x1600.bmp
Wot! 3x faster compression and 2x faster decompression than Lizard 11, CRAAAZYY!
Regarding the fluctuating speed rates, allow me to suggest start using the line that made Nakamichi's speed stable:
#ifdef _N_HIGH_PRIORITY
// https://habrahabr.ru/post/113682/
// Andrew Aksyonoff [
SetProcessAffinityMask(GetCurrentProcess(), 1);
//volatile int zomg = 1;
//for ( int i=1; i<1000000000; i++ )
// zomg *= i;
// Andrew Aksyonoff ]
#endif
Above timings were gotten with Administrator rights. Didn't look up the source, have you entered HIGHEST PRIORITY?
Surely, it should stabilize the output "digits", as of now, ABS(8045-8228) =~ 200MB/s is kinda too much of a margin.
from hypersonic-rle-kit.
I’ve added a new benchmarking tool to rle8 in the previous release. That will start with a dry run which eliminates most of the fluctuations. Just use rle8.exe filename.bin
without specifying a decoder to launch it.
If compiled for Windows the application runs in high priority mode and restricts execution to CPU core 0.
from hypersonic-rle-kit.
Related Issues (2)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hypersonic-rle-kit.