OrangePi4

ARMv8 Cortex-A72 testing on Debian 11 via the Phoronix Test Suite.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 2311203-NE-2311191NE29
Jump To Table - Results

View

Do Not Show Noisy Results
Do Not Show Results With Incomplete Data
Do Not Show Results With Little Change/Spread
List Notable Results
Show Result Confidence Charts
Allow Limiting Results To Certain Suite(s)

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
Show Wins / Losses Counts (Pie Chart)
Normalize Results
Remove Outliers Before Calculating Averages

Graph Settings

Force Line Graphs Where Applicable
Convert To Scalar Where Applicable
Prefer Vertical Bar Graphs

Additional Graphs

Show Perf Per Core/Thread Calculation Graphs Where Applicable
Show Perf Per Clock Calculation Graphs Where Applicable

Multi-Way Comparison

Condense Multi-Option Tests Into Single Result Graphs

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Toggle/Hide
Result
Result
Identifier
View Logs
Performance Per
Dollar
Date
Run
  Test
  Duration
ARMv8 Cortex-A72
December 14 2022
  5 Hours, 56 Minutes
Rockchip ARMv8 Cortex-A76
December 14 2022
  3 Hours, 13 Minutes
RK3588
December 14 2022
  3 Hours, 9 Minutes
RK3566
December 15 2022
  7 Hours, 30 Minutes
jh7110
December 26 2022
  11 Hours, 1 Minute
BCM2837
December 27 2022
  20 Hours, 10 Minutes
ls3a6000
November 14 2023
  3 Hours, 4 Minutes
E2000Q
November 14 2023
  16 Hours, 40 Minutes
th1520
November 19 2023
  4 Hours, 55 Minutes
bcm2711
November 19 2023
  4 Hours, 59 Minutes
Invert Behavior (Only Show Selected Data)
  8 Hours, 4 Minutes

Only show results where is faster than
Only show results matching title/arguments (delimit multiple options with a comma):
Do not show results matching title/arguments (delimit multiple options with a comma):


OrangePi4ProcessorMotherboardMemoryDiskGraphicsNetworkChipsetAudioMonitorOSKernelDisplay ServerCompilerFile-SystemScreen ResolutionDesktopOpenGLVulkanARMv8 Cortex-A72Rockchip ARMv8 Cortex-A76RK3588RK3566jh7110BCM2837ls3a6000E2000Qth1520bcm2711ARMv8 Cortex-A72 @ 1.42GHz (6 Cores)OrangePi RK3399 AI boards based on Rockchip4096MB64GB SD64GUbuntu 18.044.4.179-g323a56f1-dirty (aarch64)X Server 1.19.3GCC 10.3.0ext41024x768Rockchip ARMv8 Cortex-A76 @ 1.80GHz (6 Cores / 8 Threads)Orange Pi 58GB32GB SD32GllvmpipeDebian 115.10.110-rockchip-rk3588 (aarch64)Xfce 4.16X Server 1.20.114.5 Mesa 20.3.5 (LLVM 11.0.1 128 bits)GCC 10.2.1 20210110Radxa ROCK 5B16GBRealtek RTL8125 2.5GbEUbuntu 20.045.10.66-27-rockchip-gea60d388902d (aarch64)GCC 9.4.0Rockchip ARMv8 Cortex-A55 @ 1.99GHz (4 Cores)Radxa ROCK3 Model A2048MB4.19.193-58-rockchip-gbac1feba87f0 (aarch64)SiFive RISC-V @ 1.50GHz (4 Cores)StarFive VisionFive V24096MB16GB SC16GDebian GNU/Linux bookworm/sid5.15.0-starfive (riscv64)X Server1.3.204GCC 11.3.0ARMv8 Cortex-A53 @ 1.20GHz (4 Cores)BCM2835 Raspberry Pi 3 Model B Rev 1.2909MBDebian 115.10.92-v8+ (aarch64)LXDEX Server 1.20.11GCC 10.2.1 20210110Loongson-3A6000 (4 Cores / 8 Threads)O.E.M (Loongson-UDK2018-V4.0.05494-stable202305 BIOS)Loongson LLC Hyper Transport Bridge8GB2048GB SAMSUNG MZVLB2T0HMLB-000H1gsgpudrmfbLoongson LLC Device 7a37ASM-156FCTRealtek RTL8111/8168/8411Loongnix 204.19.0-19-loongson-3 (loongarch64)X Server 1.20.4GCC 8.3.0xfs1920x1080Unknown @ 1.50GHz (4 Cores)miniITX-E2000Q Board 20231536MB32GB SD32GUbuntu 20.044.19.246-phytium-embeded+ (aarch64)X Server 1.20.131.1.182GCC 9.4.0ext4rv64imafdcvsu @ 1.85GHz (4 Cores)T-HEAD Light Lichee Pi 4A configuration for 8GB DDR board8GB8GB 8GTF4Rvs-drmdrmfbDebian GNU/Linux trixie/sid5.10.113-g7b352f5ac2ba (riscv64)X Server 1.20.10GCC 13.2.01280x720ARMv8 Cortex-A72 @ 2.00GHz (4 Cores)BCM2835 Raspberry Pi 4 Model B Rev 1.5Broadcom BCM2711256GB SN256Debian 116.1.21-v8+ (aarch64)LXDEX Server 1.20.11GCC 10.2.1 20210110OpenBenchmarking.orgCompiler Details- ARMv8 Cortex-A72: --build=aarch64-linux-gnu --disable-libquadmath --disable-libquadmath-support --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-fix-cortex-a53-843419 --enable-gnu-unique-object --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --enable-libphobos-checking=release --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --target=aarch64-linux-gnu --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-target-system-zlib=auto -v - Rockchip ARMv8 Cortex-A76: --build=aarch64-linux-gnu --disable-libquadmath --disable-libquadmath-support --disable-werror --enable-bootstrap --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-fix-cortex-a53-843419 --enable-gnu-unique-object --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --enable-libphobos-checking=release --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-link-mutex --enable-multiarch --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-target-system-zlib=auto -v - RK3588: --build=aarch64-linux-gnu --disable-libquadmath --disable-libquadmath-support --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-fix-cortex-a53-843419 --enable-gnu-unique-object --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --target=aarch64-linux-gnu --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-target-system-zlib=auto -v - RK3566: --build=aarch64-linux-gnu --disable-libquadmath --disable-libquadmath-support --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-fix-cortex-a53-843419 --enable-gnu-unique-object --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --target=aarch64-linux-gnu --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-target-system-zlib=auto -v - jh7110: --build=riscv64-linux-gnu --disable-libitm --disable-libquadmath --disable-libquadmath-support --disable-multilib --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --enable-libphobos-checking=release --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-link-serialization=2 --enable-multiarch --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=riscv64-linux-gnu --program-prefix=riscv64-linux-gnu- --target=riscv64-linux-gnu --with-abi=lp64d --with-arch=rv64gc --with-build-config=bootstrap-lto-lean --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-target-system-zlib=auto -v - BCM2837: --build=aarch64-linux-gnu --disable-libquadmath --disable-libquadmath-support --disable-werror --enable-bootstrap --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-fix-cortex-a53-843419 --enable-gnu-unique-object --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --enable-libphobos-checking=release --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-link-mutex --enable-multiarch --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-target-system-zlib=auto -v - ls3a6000: --build=loongarch64-linux-gnu --disable-emultls --disable-host-shared --disable-libitm --disable-libquadmath --disable-libquadmath-support --disable-libsanitizer --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-nls --enable-plugin --enable-shared --enable-threads=posix --enable-tls --host=loongarch64-linux-gnu --program-prefix=loongarch64-linux-gnu- --target=loongarch64-linux-gnu --with-abi=lp64 --with-arch=loongarch64 --with-default-libstdcxx-abi=new --with-gcc-major-version-only -v - E2000Q: --build=aarch64-linux-gnu --disable-libquadmath --disable-libquadmath-support --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-fix-cortex-a53-843419 --enable-gnu-unique-object --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --target=aarch64-linux-gnu --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-target-system-zlib=auto -v - th1520: --build=riscv64-linux-gnu --disable-libitm --disable-libquadmath --disable-libquadmath-support --disable-multilib --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --enable-libphobos-checking=release --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-link-serialization=2 --enable-multiarch --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=riscv64-linux-gnu --program-prefix=riscv64-linux-gnu- --target=riscv64-linux-gnu --with-abi=lp64d --with-arch=rv64gc --with-build-config=bootstrap-lto-lean --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-target-system-zlib=auto -v - bcm2711: --build=aarch64-linux-gnu --disable-libquadmath --disable-libquadmath-support --disable-werror --enable-bootstrap --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-fix-cortex-a53-843419 --enable-gnu-unique-object --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --enable-libphobos-checking=release --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-link-mutex --enable-multiarch --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-target-system-zlib=auto -v Processor Details- ARMv8 Cortex-A72: Scaling Governor: cpufreq-dt performance- Rockchip ARMv8 Cortex-A76: Scaling Governor: cpufreq-dt performance- RK3588: Scaling Governor: cpufreq-dt performance- RK3566: Scaling Governor: cpufreq-dt performance- jh7110: Scaling Governor: starfive-cpufreq ondemand- BCM2837: Scaling Governor: cpufreq-dt ondemand- E2000Q: Scaling Governor: scmi ondemand- th1520: Scaling Governor: light-cpufreq ondemand- bcm2711: Scaling Governor: cpufreq-dt ondemandPython Details- ARMv8 Cortex-A72: Python 2.7.17 + Python 3.6.9- Rockchip ARMv8 Cortex-A76: Python 3.9.2- RK3588: Python 2.7.18 + Python 3.8.10- RK3566: Python 2.7.18rc1 + Python 3.8.10- jh7110: Python 3.10.5- BCM2837: Python 3.9.2- ls3a6000: Python 2.7.16 + Python 3.7.3- E2000Q: Python 3.8.10- th1520: Python 3.11.6- bcm2711: Python 3.9.2Environment Details- Rockchip ARMv8 Cortex-A76: QTWEBENGINE_CHROMIUM_FLAGS="--no-sandbox --disable-es3-gl-context --ignore-gpu-blacklist --ignore-gpu-blocklist --enable-accelerated-video-decode" GST_DEBUG_NO_COLOR=1Security Details- Rockchip ARMv8 Cortex-A76: itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Not affected + spec_store_bypass: Mitigation of SSB disabled via prctl + spectre_v1: Mitigation of __user pointer sanitization + spectre_v2: Vulnerable: Unprivileged eBPF enabled + srbds: Not affected + tsx_async_abort: Not affected- RK3588: itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Not affected + spec_store_bypass: Mitigation of SSB disabled via prctl + spectre_v1: Mitigation of __user pointer sanitization + spectre_v2: Not affected + srbds: Not affected + tsx_async_abort: Not affected- RK3566: itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Not affected + spec_store_bypass: Not affected + spectre_v1: Mitigation of __user pointer sanitization + spectre_v2: Not affected + srbds: Not affected + tsx_async_abort: Not affected- BCM2837: itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Not affected + spec_store_bypass: Not affected + spectre_v1: Mitigation of __user pointer sanitization + spectre_v2: Not affected + srbds: Not affected + tsx_async_abort: Not affected- E2000Q: itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Mitigation of PTI + spec_store_bypass: Vulnerable + spectre_v1: Mitigation of __user pointer sanitization + spectre_v2: Vulnerable + srbds: Not affected + tsx_async_abort: Not affected- bcm2711: itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Not affected + mmio_stale_data: Not affected + retbleed: Not affected + spec_store_bypass: Vulnerable + spectre_v1: Mitigation of __user pointer sanitization + spectre_v2: Vulnerable + srbds: Not affected + tsx_async_abort: Not affectedKernel Details- BCM2837: snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1- ls3a6000: Transparent Huge Pages: always- E2000Q: Transparent Huge Pages: always- bcm2711: snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_headphones=1 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_hdmi=0

ARMv8 Cortex-A72Rockchip ARMv8 Cortex-A76RK3588RK3566jh7110BCM2837ls3a6000E2000Qth1520bcm2711Result OverviewPhoronix Test Suite100%708%1317%1925%2534%PyBenchCppPerformanceBenchmarksFhourstonesIPC_benchmarkSmallptSciMarkCoremarkSudokutCore-LatencyAOBenchSample Pi ProgramCacheBench

OrangePi4pybench: Total For Average Test Timescachebench: Writescimark2: Monte Carlocpp-perf-bench: Stepanov Abstractioncachebench: Readcpp-perf-bench: Stepanov Vectorfhourstones: Complex Connect-4 Solvingcpp-perf-bench: Rand Numberscpp-perf-bench: Function Objectsipc-benchmark: TCP Socket - 128cachebench: Read / Modify / Writecompress-7zip: Decompression Ratingipc-benchmark: FIFO Named Pipe - 128ipc-benchmark: Unnamed Pipe - 128scimark2: Sparse Matrix Multiplyscimark2: Dense LU Matrix Factorizationscimark2: Jacobi Successive Over-Relaxationscimark2: Fast Fourier Transformipc-benchmark: Unnamed Unix Domain Socket - 128scimark2: Compositesmallpt: Global Illumination Renderer; 128 Samplescoremark: CoreMark Size 666 - Iterations Per Secondcompress-7zip: Compression Ratingsudokut: Total Timecore-latency: Average Latency Between CPU Coresaobench: 2048 x 2048 - Total Timesample-program: cpp-perf-bench: Math Librarycpp-perf-bench: Atolcpp-perf-bench: CtypeARMv8 Cortex-A72Rockchip ARMv8 Cortex-A76RK3588RK3566jh7110BCM2837ls3a6000E2000Qth1520bcm271153466690.05998048.7576.1674559.548645198.2003699.23391.36932.924119581813222.79984176431233198122127889.18172.96376.4413.96904205140.25123.78232199.319132488848.279442.8192118.36751.7241465.482197.912129.991180014742.05717889.8542.1408743.122697110.9075456.01841.79018.943154632923240.9426291761620431032067163305.51320.01868.3031.60932759323.0536.53287957.3218941504222.215142.37847.63010.592554.51195.26782.85817739107.76470494.7937.3689176.142245102.1155316.01786.93119.130173534824244.7111461796223187092322171314.37345.86914.3031.80970148340.2234.95690167.9724741536819.936141.30347.42810.250545.56393.23976.84666867523.99718744.3688.1503759.289487221.5462843.53649.02727.2385169813797.478152610589720592031857.9393.75150.2810.6551025471.39144.65129454.426412189394.415149.676159.14536.6811853.008299.634154.138129365231.32726328.15156.9651587.811253364.0073041.94116.42934.2974166852007.994407578784259289834645.3669.84124.1415.4542507756.59385.87619832.5845842965105.92184.1653318.55174.8714487.644441.562258.504151682240.01057111.57297.3631156.842255736.6831459.710411.68387.355621311189.91241210193311170819.0229.9944.718.976650822.87571.4837752.879743271.346184.105553.276122.5726503.3791007.268581.630179418870.38997395.7241.3876354.76546999.5499247.31851.81316.824219660737728.6673032073226221442732145398.76622.97626.48173.391231855383.4634.818114953.5450622595020.22695.536345.98920.509610.30785.66656.22343975799.59271828.25101.6953112.856627257.4063553.84125.92039.1736147225469.523085587183062191552940.5876.33181.4915.9049046578.91122.45219656.746105357264.7821056.561180.17036.0332282.522359.818249.816727710264.23870936.0868.2984609.373940173.9243847.330.90153330113544.164455668259369162148675.90103.66248.0124.0838078297.55121.26633069.525631413989.043147.488172.27342.5102806.439303.821270.31933067438.83557859.7268.2445079.343472177.5805098.42799.07928.97829688214776.5163808471483168512587179.00192.99458.2332.36331180184.4696.77944123.433323455345.552127.05389.34521.1031147.966175.341108.236OpenBenchmarking.org

PyBench

This test profile reports the total time of the different average timed test results from PyBench. PyBench reports average test times for different functions such as BuiltinFunctionCalls and NestedForLoops, with this total result providing a rough estimate as to Python's average performance on a given system. This test profile runs PyBench each time for 20 rounds. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyBench 2018-02-16Total For Average Test TimesBCM2837jh7110th1520RK3566ARMv8 Cortex-A72E2000Qbcm2711Rockchip ARMv8 Cortex-A76ls3a6000RK35883K6K9K12K15KSE +/- 189.10, N = 3SE +/- 41.00, N = 3SE +/- 95.80, N = 12SE +/- 22.06, N = 3SE +/- 13.62, N = 3SE +/- 804.09, N = 12SE +/- 1.67, N = 3SE +/- 0.88, N = 3SE +/- 3.06, N = 3SE +/- 3.93, N = 3151681293672776686534643973306180017941773

CacheBench

This is a performance test of CacheBench, which is part of LLCbench. CacheBench is designed to test the memory and cache bandwidth performance Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMB/s, More Is BetterCacheBenchTest: WriteBCM2837jh7110E2000QARMv8 Cortex-A72bcm2711RK3566RK3588th1520Rockchip ARMv8 Cortex-A76ls3a60004K8K12K16K20KSE +/- 1.30, N = 3SE +/- 0.23, N = 3SE +/- 110.00, N = 12SE +/- 0.03, N = 3SE +/- 0.54, N = 3SE +/- 0.79, N = 3SE +/- 1.96, N = 3SE +/- 141.02, N = 3SE +/- 0.98, N = 3SE +/- 0.06, N = 32240.015231.335799.596690.067438.847524.009107.7610264.2414742.0618870.39MIN: 2846.21 / MAX: 5704.14MIN: 5310.85 / MAX: 7608.35MIN: 6333.07 / MAX: 6833.67MIN: 7024.26 / MAX: 7599.3MIN: 7246.9 / MAX: 7649.99MIN: 9013.98 / MAX: 9179.25MIN: 8985.63 / MAX: 11959.83MIN: 13917.45 / MAX: 16205.74MIN: 18540.22 / MAX: 19032.071. (CC) gcc options: -lrt

SciMark

This test runs the ANSI C version of SciMark 2.0, which is a benchmark for scientific and numerical computing developed by programmers at the National Institute of Standards and Technology. This test is made up of Fast Foruier Transform, Jacobi Successive Over-relaxation, Monte Carlo, Sparse Matrix Multiply, and dense LU matrix factorization benchmarks. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Monte CarloBCM2837jh7110E2000Qth1520RK3566ARMv8 Cortex-A72bcm2711Rockchip ARMv8 Cortex-A76RK3588ls3a600020406080100SE +/- 0.56, N = 3SE +/- 0.00, N = 3SE +/- 0.02, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.10, N = 3SE +/- 0.15, N = 3SE +/- 0.02, N = 311.5728.1528.2536.0844.3648.7559.7289.8594.7995.721. (CC) gcc options: -lm

CppPerformanceBenchmarks

CppPerformanceBenchmarks is a set of C++ compiler performance benchmarks. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: Stepanov AbstractionBCM2837jh7110E2000QRK3566ARMv8 Cortex-A72th1520bcm2711Rockchip ARMv8 Cortex-A76ls3a6000RK358860120180240300SE +/- 0.95, N = 3SE +/- 0.01, N = 3SE +/- 4.72, N = 15SE +/- 0.05, N = 3SE +/- 0.02, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3297.36156.97101.7088.1576.1768.3068.2442.1441.3937.371. (CXX) g++ options: -std=c++11 -O3

CacheBench

This is a performance test of CacheBench, which is part of LLCbench. CacheBench is designed to test the memory and cache bandwidth performance Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMB/s, More Is BetterCacheBenchTest: ReadBCM2837jh7110E2000QRK3566ARMv8 Cortex-A72th1520bcm2711ls3a6000Rockchip ARMv8 Cortex-A76RK35882K4K6K8K10KSE +/- 10.47, N = 3SE +/- 0.03, N = 3SE +/- 81.45, N = 12SE +/- 0.77, N = 3SE +/- 0.21, N = 3SE +/- 2.05, N = 3SE +/- 0.40, N = 3SE +/- 0.37, N = 3SE +/- 6.67, N = 3SE +/- 10.52, N = 31156.841587.813112.863759.294559.554609.375079.346354.778743.129176.14MIN: 1341.88 / MAX: 1632.3MIN: 2724.78 / MAX: 3809.58MIN: 3591.71 / MAX: 3825.75MIN: 4553.04 / MAX: 4561.21MIN: 4471.66 / MAX: 4679.18MIN: 5068.43 / MAX: 5080.89MIN: 6353.72 / MAX: 6355.65MIN: 8648.5 / MAX: 8822.56MIN: 9142.68 / MAX: 9191.971. (CC) gcc options: -lrt

CppPerformanceBenchmarks

CppPerformanceBenchmarks is a set of C++ compiler performance benchmarks. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: Stepanov VectorBCM2837jh7110E2000QRK3566ARMv8 Cortex-A72bcm2711th1520Rockchip ARMv8 Cortex-A76RK3588ls3a6000160320480640800SE +/- 0.38, N = 3SE +/- 0.00, N = 3SE +/- 12.52, N = 9SE +/- 0.27, N = 3SE +/- 0.12, N = 3SE +/- 0.03, N = 3SE +/- 0.10, N = 3SE +/- 0.06, N = 3SE +/- 0.03, N = 3SE +/- 0.00, N = 3736.68364.01257.41221.55198.20177.58173.92110.91102.1299.551. (CXX) g++ options: -std=c++11 -O3

Fhourstones

This integer benchmark solves positions in the game of Connect-4, as played on a vertical 7x6 board. By default, it uses a 64Mb transposition table with the twobig replacement strategy. Positions are represented as 64-bit bitboards, and the hash function is computed using a single 64-bit modulo operation, giving 64-bit machines a slight edge. The alpha-beta searcher sorts moves dynamically based on the history heuristic. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgKpos / sec, More Is BetterFhourstones 3.1Complex Connect-4 SolvingBCM2837RK3566jh7110E2000QARMv8 Cortex-A72th1520bcm2711RK3588Rockchip ARMv8 Cortex-A76ls3a60002K4K6K8K10KSE +/- 2.38, N = 3SE +/- 9.95, N = 3SE +/- 1.37, N = 3SE +/- 59.37, N = 9SE +/- 2.08, N = 3SE +/- 15.53, N = 3SE +/- 2.60, N = 3SE +/- 9.87, N = 3SE +/- 15.44, N = 3SE +/- 10.56, N = 31459.72843.53041.93553.83699.23847.35098.45316.05456.09247.31. (CC) gcc options: -O3

CppPerformanceBenchmarks

CppPerformanceBenchmarks is a set of C++ compiler performance benchmarks. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: Random NumbersBCM2837E2000Qjh7110RK3566ARMv8 Cortex-A72bcm2711ls3a6000Rockchip ARMv8 Cortex-A76RK35882K4K6K8K10KSE +/- 46.45, N = 3SE +/- 149.73, N = 3SE +/- 6.79, N = 3SE +/- 7.46, N = 3SE +/- 1.96, N = 3SE +/- 1.19, N = 3SE +/- 0.13, N = 3SE +/- 2.84, N = 3SE +/- 1.11, N = 310411.684125.924116.433649.033391.372799.081851.811841.791786.931. (CXX) g++ options: -std=c++11 -O3

Test: Random Numbers

th1520: The test quit with a non-zero exit status. The test quit with a non-zero exit status. The test quit with a non-zero exit status.

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: Function ObjectsBCM2837E2000Qjh7110ARMv8 Cortex-A72th1520bcm2711RK3566RK3588Rockchip ARMv8 Cortex-A76ls3a600020406080100SE +/- 0.47, N = 3SE +/- 1.12, N = 15SE +/- 0.01, N = 3SE +/- 0.26, N = 3SE +/- 0.05, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 387.3639.1734.3032.9230.9028.9827.2419.1318.9416.821. (CXX) g++ options: -std=c++11 -O3

IPC_benchmark

IPC_benchmark is a Linux inter-process communication benchmark. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMessages Per Second, More Is BetterIPC_benchmarkType: TCP Socket - Message Bytes: 128BCM2837bcm2711jh7110RK3566th1520E2000QARMv8 Cortex-A72Rockchip ARMv8 Cortex-A76RK3588ls3a6000500K1000K1500K2000K2500KSE +/- 236.33, N = 3SE +/- 312.55, N = 3SE +/- 3121.73, N = 3SE +/- 1733.49, N = 3SE +/- 2710.42, N = 3SE +/- 5424.63, N = 15SE +/- 14407.83, N = 4SE +/- 2459.02, N = 3SE +/- 7341.35, N = 3SE +/- 72445.51, N = 15621312968824166855169815333016147221195818154632917353482196607

CacheBench

This is a performance test of CacheBench, which is part of LLCbench. CacheBench is designed to test the memory and cache bandwidth performance Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMB/s, More Is BetterCacheBenchTest: Read / Modify / WriteBCM2837jh7110RK3566E2000QARMv8 Cortex-A72th1520bcm2711Rockchip ARMv8 Cortex-A76RK3588ls3a60008K16K24K32K40KSE +/- 2.90, N = 3SE +/- 0.15, N = 3SE +/- 0.96, N = 3SE +/- 1223.41, N = 12SE +/- 9.94, N = 3SE +/- 27.43, N = 3SE +/- 6.25, N = 3SE +/- 2.05, N = 3SE +/- 0.67, N = 3SE +/- 0.82, N = 31189.912007.993797.485469.5213222.8013544.1614776.5223240.9424244.7137728.67MIN: 12502.36 / MAX: 13615.66MIN: 12424.53 / MAX: 14020.73MIN: 14027.68 / MAX: 15173.23MIN: 22830.27 / MAX: 23411.36MIN: 23815.25 / MAX: 24428.45MIN: 37075.88 / MAX: 38043.651. (CC) gcc options: -lrt

7-Zip Compression

This is a test of 7-Zip compression/decompression with its integrated benchmark feature. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMIPS, More Is Better7-Zip Compression 22.01Test: Decompression Ratingjh7110E2000QRK3566th1520ARMv8 Cortex-A72bcm2711Rockchip ARMv8 Cortex-A76RK3588ls3a60004K8K12K16K20KSE +/- 3.01, N = 15SE +/- 15.99, N = 13SE +/- 14.39, N = 12SE +/- 6.74, N = 3SE +/- 28.48, N = 3SE +/- 25.66, N = 4SE +/- 13.22, N = 4SE +/- 34.03, N = 35787587161056682764384711761617962207321. (CXX) g++ options: -lpthread -ldl -O2 -fPIC

Test: Decompression Rating

BCM2837: The test quit with a non-zero exit status. The test quit with a non-zero exit status. The test quit with a non-zero exit status.

IPC_benchmark

IPC_benchmark is a Linux inter-process communication benchmark. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMessages Per Second, More Is BetterIPC_benchmarkType: FIFO Named Pipe - Message Bytes: 128BCM2837bcm2711th1520E2000Qjh7110RK3566ARMv8 Cortex-A72Rockchip ARMv8 Cortex-A76RK3588ls3a6000600K1200K1800K2400K3000KSE +/- 1345.58, N = 3SE +/- 6163.89, N = 15SE +/- 5174.78, N = 3SE +/- 21720.00, N = 15SE +/- 11657.24, N = 15SE +/- 742.83, N = 3SE +/- 13223.85, N = 5SE +/- 1374.02, N = 3SE +/- 23313.01, N = 6SE +/- 1396.60, N = 31019334831685936918306218425928972051233198204310323187092622144

OpenBenchmarking.orgMessages Per Second, More Is BetterIPC_benchmarkType: Unnamed Pipe - Message Bytes: 128BCM2837bcm2711th1520jh7110E2000QRK3566ARMv8 Cortex-A72Rockchip ARMv8 Cortex-A76RK3588ls3a6000600K1200K1800K2400K3000KSE +/- 1076.40, N = 3SE +/- 9362.07, N = 15SE +/- 4486.69, N = 3SE +/- 8224.73, N = 15SE +/- 7677.43, N = 3SE +/- 1671.81, N = 3SE +/- 17982.09, N = 12SE +/- 22497.07, N = 3SE +/- 17447.32, N = 15SE +/- 7204.21, N = 31117085125876214868983469155299203181221278206716323221712732145

SciMark

This test runs the ANSI C version of SciMark 2.0, which is a benchmark for scientific and numerical computing developed by programmers at the National Institute of Standards and Technology. This test is made up of Fast Foruier Transform, Jacobi Successive Over-relaxation, Monte Carlo, Sparse Matrix Multiply, and dense LU matrix factorization benchmarks. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Sparse Matrix MultiplyBCM2837E2000Qjh7110RK3566th1520ARMv8 Cortex-A72bcm2711Rockchip ARMv8 Cortex-A76RK3588ls3a600090180270360450SE +/- 0.52, N = 3SE +/- 0.01, N = 3SE +/- 0.48, N = 3SE +/- 0.03, N = 3SE +/- 0.02, N = 3SE +/- 1.61, N = 3SE +/- 2.59, N = 3SE +/- 3.05, N = 3SE +/- 0.35, N = 3SE +/- 0.54, N = 319.0240.5845.3657.9375.9089.18179.00305.51314.37398.761. (CC) gcc options: -lm

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Dense LU Matrix FactorizationBCM2837jh7110E2000QRK3566th1520ARMv8 Cortex-A72bcm2711Rockchip ARMv8 Cortex-A76RK3588ls3a6000130260390520650SE +/- 0.12, N = 3SE +/- 0.04, N = 3SE +/- 3.79, N = 3SE +/- 0.07, N = 3SE +/- 0.04, N = 3SE +/- 1.07, N = 3SE +/- 1.08, N = 3SE +/- 2.31, N = 3SE +/- 6.54, N = 3SE +/- 1.99, N = 329.9969.8476.3393.75103.66172.96192.99320.01345.86622.971. (CC) gcc options: -lm

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Jacobi Successive Over-RelaxationBCM2837jh7110RK3566E2000Qth1520ARMv8 Cortex-A72bcm2711ls3a6000Rockchip ARMv8 Cortex-A76RK35882004006008001000SE +/- 0.72, N = 3SE +/- 0.09, N = 3SE +/- 0.83, N = 3SE +/- 70.33, N = 3SE +/- 0.06, N = 3SE +/- 3.07, N = 3SE +/- 7.22, N = 3SE +/- 0.04, N = 3SE +/- 11.78, N = 3SE +/- 3.38, N = 344.71124.14150.28181.49248.01376.44458.23626.48868.30914.301. (CC) gcc options: -lm

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Fast Fourier TransformBCM2837RK3566ARMv8 Cortex-A72jh7110E2000Qth1520Rockchip ARMv8 Cortex-A76RK3588bcm2711ls3a60004080120160200SE +/- 0.09, N = 3SE +/- 0.16, N = 3SE +/- 0.10, N = 3SE +/- 0.09, N = 3SE +/- 0.15, N = 3SE +/- 0.25, N = 3SE +/- 0.19, N = 3SE +/- 0.16, N = 3SE +/- 0.05, N = 3SE +/- 0.47, N = 38.9710.6513.9615.4515.9024.0831.6031.8032.36173.391. (CC) gcc options: -lm

IPC_benchmark

IPC_benchmark is a Linux inter-process communication benchmark. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMessages Per Second, More Is BetterIPC_benchmarkType: Unnamed Unix Domain Socket - Message Bytes: 128BCM2837bcm2711th1520jh7110E2000QRK3566ARMv8 Cortex-A72Rockchip ARMv8 Cortex-A76RK3588ls3a6000300K600K900K1200K1500KSE +/- 221.92, N = 3SE +/- 1133.42, N = 3SE +/- 2383.27, N = 3SE +/- 5165.89, N = 3SE +/- 4610.77, N = 3SE +/- 1142.86, N = 3SE +/- 7279.88, N = 3SE +/- 1948.25, N = 3SE +/- 1942.05, N = 3SE +/- 8627.83, N = 3665083311803807824250774904655102549042059327599701481231855

SciMark

This test runs the ANSI C version of SciMark 2.0, which is a benchmark for scientific and numerical computing developed by programmers at the National Institute of Standards and Technology. This test is made up of Fast Foruier Transform, Jacobi Successive Over-relaxation, Monte Carlo, Sparse Matrix Multiply, and dense LU matrix factorization benchmarks. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: CompositeBCM2837jh7110RK3566E2000Qth1520ARMv8 Cortex-A72bcm2711Rockchip ARMv8 Cortex-A76RK3588ls3a600080160240320400SE +/- 0.26, N = 4SE +/- 0.09, N = 3SE +/- 0.20, N = 3SE +/- 10.32, N = 15SE +/- 0.06, N = 3SE +/- 0.61, N = 3SE +/- 1.73, N = 3SE +/- 3.06, N = 3SE +/- 1.14, N = 3SE +/- 0.27, N = 322.8756.5971.3978.9197.55140.25184.46323.05340.22383.461. (CC) gcc options: -lm

Smallpt

Smallpt is a C++ global illumination renderer written in less than 100 lines of code. Global illumination is done via unbiased Monte Carlo path tracing and there is multi-threading support via the OpenMP library. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterSmallpt 1.0Global Illumination Renderer; 128 SamplesBCM2837jh7110RK3566ARMv8 Cortex-A72E2000Qth1520bcm2711Rockchip ARMv8 Cortex-A76RK3588ls3a6000120240360480600SE +/- 0.40, N = 3SE +/- 0.08, N = 3SE +/- 0.09, N = 3SE +/- 0.15, N = 3SE +/- 0.30, N = 3SE +/- 0.71, N = 3SE +/- 1.25, N = 3SE +/- 0.03, N = 3SE +/- 0.02, N = 3SE +/- 0.00, N = 3571.48385.88144.65123.78122.45121.2796.7836.5334.9634.821. (CXX) g++ options: -fopenmp -O3

Coremark

This is a test of EEMBC CoreMark processor benchmark. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgIterations/Sec, More Is BetterCoremark 1.0CoreMark Size 666 - Iterations Per SecondBCM2837E2000Qjh7110RK3566ARMv8 Cortex-A72th1520bcm2711Rockchip ARMv8 Cortex-A76RK3588ls3a600020K40K60K80K100KSE +/- 20.40, N = 3SE +/- 185.46, N = 3SE +/- 50.52, N = 3SE +/- 6.27, N = 3SE +/- 11.80, N = 3SE +/- 36.31, N = 3SE +/- 48.97, N = 3SE +/- 74.92, N = 3SE +/- 39.54, N = 3SE +/- 17.70, N = 37752.8819656.7519832.5829454.4332199.3233069.5344123.4387957.3290167.97114953.551. (CC) gcc options: -O2 -lrt" -lrt

7-Zip Compression

This is a test of 7-Zip compression/decompression with its integrated benchmark feature. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMIPS, More Is Better7-Zip Compression 22.01Test: Compression RatingRK3566jh7110E2000Qth1520bcm2711ARMv8 Cortex-A72Rockchip ARMv8 Cortex-A76RK3588ls3a60006K12K18K24K30KSE +/- 29.72, N = 12SE +/- 33.20, N = 15SE +/- 62.10, N = 13SE +/- 11.20, N = 3SE +/- 47.35, N = 3SE +/- 67.49, N = 3SE +/- 168.67, N = 4SE +/- 168.83, N = 4SE +/- 70.90, N = 31893296535724139455348881504215368259501. (CXX) g++ options: -lpthread -ldl -O2 -fPIC

Test: Compression Rating

BCM2837: The test quit with a non-zero exit status. The test quit with a non-zero exit status. The test quit with a non-zero exit status.

Sudokut

This is a test of Sudokut, which is a Sudoku puzzle solver written in Tcl. This test measures how long it takes to solve 100 Sudoku puzzles. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterSudokut 0.4Total TimeBCM2837jh7110RK3566th1520E2000QARMv8 Cortex-A72bcm2711Rockchip ARMv8 Cortex-A76ls3a6000RK358860120180240300SE +/- 1.07, N = 3SE +/- 0.07, N = 3SE +/- 0.13, N = 3SE +/- 0.25, N = 3SE +/- 1.49, N = 15SE +/- 0.05, N = 3SE +/- 0.05, N = 3SE +/- 0.02, N = 3SE +/- 0.00, N = 3SE +/- 0.03, N = 3271.35105.9294.4289.0464.7848.2845.5522.2220.2319.94

Core-Latency

This is a test of core-latency, which measures the latency between all core combinations on the system processor(s). Reported is the average latency. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgns, Fewer Is BetterCore-LatencyAverage Latency Between CPU CoresE2000QARMv8 Cortex-A72BCM2837RK3566th1520Rockchip ARMv8 Cortex-A76RK3588bcm2711ls3a6000jh711020040060080010001056.56442.82184.11149.68147.49142.38141.30127.0595.5484.17MIN: 915.44 / MAX: 1094.16MIN: 75.14 / MAX: 703.83MIN: 182.9 / MAX: 186MIN: 149.29 / MAX: 149.86MIN: 146.08 / MAX: 148.46MIN: 136.2 / MAX: 148.26MIN: 134.71 / MAX: 145.011. (CXX) g++ options: -std=c++11 -pthread -O3

AOBench

AOBench is a lightweight ambient occlusion renderer, written in C. The test profile is using a size of 2048 x 2048. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterAOBenchSize: 2048 x 2048 - Total TimeBCM2837jh7110E2000Qth1520RK3566ARMv8 Cortex-A72bcm2711Rockchip ARMv8 Cortex-A76RK3588ls3a6000120240360480600SE +/- 2.62, N = 3SE +/- 0.30, N = 3SE +/- 15.35, N = 12SE +/- 0.24, N = 3SE +/- 0.06, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.03, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3553.28318.55180.17172.27159.15118.3789.3547.6347.4345.991. (CC) gcc options: -lm -O3

Sample Pi Program

A simple C++ program that calculates Pi to 8,765,4321 digits using the Leibniz formula. This test can be used for showcasing how to write a basic test profile. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterSample Pi ProgramBCM2837jh7110ARMv8 Cortex-A72th1520RK3566E2000Qbcm2711ls3a6000Rockchip ARMv8 Cortex-A76RK3588306090120150SE +/- 0.51, N = 3SE +/- 0.02, N = 3SE +/- 0.00, N = 3SE +/- 0.02, N = 3SE +/- 0.00, N = 3SE +/- 1.70, N = 15SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 3122.5774.8751.7242.5136.6836.0321.1020.5110.5910.25

CppPerformanceBenchmarks

CppPerformanceBenchmarks is a set of C++ compiler performance benchmarks. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: Math LibraryBCM2837jh7110th1520E2000QRK3566ARMv8 Cortex-A72bcm2711ls3a6000Rockchip ARMv8 Cortex-A76RK358814002800420056007000SE +/- 40.22, N = 3SE +/- 0.80, N = 3SE +/- 2.42, N = 3SE +/- 91.87, N = 9SE +/- 0.29, N = 3SE +/- 1.08, N = 3SE +/- 8.90, N = 3SE +/- 0.02, N = 3SE +/- 0.09, N = 3SE +/- 0.30, N = 36503.384487.642806.442282.521853.011465.481147.97610.31554.51545.561. (CXX) g++ options: -std=c++11 -O3

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: AtolBCM2837jh7110E2000Qth1520RK3566ARMv8 Cortex-A72bcm2711Rockchip ARMv8 Cortex-A76RK3588ls3a60002004006008001000SE +/- 3.81, N = 3SE +/- 1.66, N = 3SE +/- 17.37, N = 9SE +/- 2.47, N = 3SE +/- 0.05, N = 3SE +/- 0.63, N = 3SE +/- 0.59, N = 3SE +/- 0.08, N = 3SE +/- 0.25, N = 3SE +/- 0.01, N = 31007.27441.56359.82303.82299.63197.91175.3495.2793.2485.671. (CXX) g++ options: -std=c++11 -O3

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: CtypeBCM2837th1520jh7110E2000QRK3566ARMv8 Cortex-A72bcm2711Rockchip ARMv8 Cortex-A76RK3588ls3a6000130260390520650SE +/- 4.17, N = 3SE +/- 1.50, N = 3SE +/- 0.00, N = 3SE +/- 0.55, N = 3SE +/- 0.03, N = 3SE +/- 0.38, N = 3SE +/- 0.23, N = 3SE +/- 0.01, N = 3SE +/- 0.08, N = 3SE +/- 0.03, N = 3581.63270.32258.50249.82154.14129.99108.2482.8676.8556.221. (CXX) g++ options: -std=c++11 -O3