Apple M1 Compilers Apple M1 compiler testing for a future article. GCC 11.2.0: Processor: Apple M1 @ 2.06GHz (4 Cores / 8 Threads), Motherboard: Apple Mac mini (M1 2020), Memory: 8GB, Disk: 251GB APPLE SSD AP0256Q + 2 x 0GB APPLE SSD AP0256Q, Graphics: llvmpipe, Network: Broadcom NetXtreme BCM57762 PCIe + Broadcom BRCM4378 + Broadcom Device 5f69 OS: Arch Linux ARM, Kernel: 5.17.0-rc7-asahi-next-20220310-5-2-ARCH (aarch64), Desktop: KDE Plasma 5.24.4, Display Server: X Server 1.21.1.3, OpenGL: 4.5 Mesa 22.0.1 (LLVM 13.0.1 128 bits), Compiler: GCC 11.2.0 + Clang 13.0.1, File-System: ext4, Screen Resolution: 1920x1080 Clang 13.0.1: Processor: Apple M1 @ 2.06GHz (4 Cores / 8 Threads), Motherboard: Apple Mac mini (M1 2020), Memory: 8GB, Disk: 251GB APPLE SSD AP0256Q + 2 x 0GB APPLE SSD AP0256Q, Graphics: llvmpipe, Network: Broadcom NetXtreme BCM57762 PCIe + Broadcom BRCM4378 + Broadcom Device 5f69 OS: Arch Linux ARM, Kernel: 5.17.0-rc7-asahi-next-20220310-5-2-ARCH (aarch64), Desktop: KDE Plasma 5.24.4, Display Server: X Server 1.21.1.3, OpenGL: 4.5 Mesa 22.0.1 (LLVM 13.0.1 128 bits), Compiler: Clang 13.0.1, File-System: ext4, Screen Resolution: 1920x1080 Crypto++ 8.2 Test: All Algorithms MiB/second > Higher Is Better GCC 11.2.0 ... 954.96 |======================================================== Clang 13.0.1 . 823.15 |================================================ Crypto++ 8.2 Test: Keyed Algorithms MiB/second > Higher Is Better GCC 11.2.0 ... 508.84 |======================================================== Clang 13.0.1 . 374.90 |========================================= Crypto++ 8.2 Test: Unkeyed Algorithms MiB/second > Higher Is Better GCC 11.2.0 ... 539.28 |======================================================== Clang 13.0.1 . 338.41 |=================================== Crypto++ 8.2 Test: Integer + Elliptic Curve Public Key Algorithms MiB/second > Higher Is Better GCC 11.2.0 ... 1766.99 |==================================================== Clang 13.0.1 . 1875.52 |======================================================= LeelaChessZero 0.28 Backend: Eigen Nodes Per Second > Higher Is Better GCC 11.2.0 ... 1263 |======================================================== Clang 13.0.1 . 1297 |========================================================== Xmrig 6.12.1 Variant: Monero - Hash Count: 1M H/s > Higher Is Better GCC 11.2.0 ... 2247.2 |======================================================== Clang 13.0.1 . 2209.7 |======================================================= Xmrig 6.12.1 Variant: Wownero - Hash Count: 1M H/s > Higher Is Better GCC 11.2.0 ... 2798.2 |======================================================== Clang 13.0.1 . 2804.8 |======================================================== LZ4 Compression 1.9.3 Compression Level: 1 - Compression Speed MB/s > Higher Is Better GCC 11.2.0 ... 21909.45 |====================================================== Clang 13.0.1 . 21875.54 |====================================================== LZ4 Compression 1.9.3 Compression Level: 1 - Decompression Speed MB/s > Higher Is Better GCC 11.2.0 ... 27018.5 |======================================================= Clang 13.0.1 . 26736.4 |====================================================== LZ4 Compression 1.9.3 Compression Level: 3 - Compression Speed MB/s > Higher Is Better GCC 11.2.0 ... 51.99 |========================================================= Clang 13.0.1 . 51.32 |======================================================== LZ4 Compression 1.9.3 Compression Level: 3 - Decompression Speed MB/s > Higher Is Better GCC 11.2.0 ... 17490.9 |======================================================= Clang 13.0.1 . 16877.4 |===================================================== LZ4 Compression 1.9.3 Compression Level: 9 - Compression Speed MB/s > Higher Is Better GCC 11.2.0 ... 48.94 |======================================================== Clang 13.0.1 . 49.89 |========================================================= LZ4 Compression 1.9.3 Compression Level: 9 - Decompression Speed MB/s > Higher Is Better GCC 11.2.0 ... 17478.5 |======================================================= Clang 13.0.1 . 16863.3 |===================================================== Zstd Compression 1.5.0 Compression Level: 3 - Compression Speed MB/s > Higher Is Better GCC 11.2.0 ... 3341.2 |======================================================== Clang 13.0.1 . 3301.1 |======================================================= Zstd Compression 1.5.0 Compression Level: 3 - Decompression Speed MB/s > Higher Is Better GCC 11.2.0 ... 3850.2 |====================================================== Clang 13.0.1 . 3977.7 |======================================================== Zstd Compression 1.5.0 Compression Level: 8 - Compression Speed MB/s > Higher Is Better GCC 11.2.0 ... 721.5 |========================================================= Clang 13.0.1 . 699.6 |======================================================= Zstd Compression 1.5.0 Compression Level: 8 - Decompression Speed MB/s > Higher Is Better GCC 11.2.0 ... 4016.4 |====================================================== Clang 13.0.1 . 4141.0 |======================================================== Zstd Compression 1.5.0 Compression Level: 19 - Compression Speed MB/s > Higher Is Better GCC 11.2.0 ... 22.7 |========================================================= Clang 13.0.1 . 23.2 |========================================================== Zstd Compression 1.5.0 Compression Level: 19 - Decompression Speed MB/s > Higher Is Better GCC 11.2.0 ... 3546.2 |====================================================== Clang 13.0.1 . 3684.3 |======================================================== Zstd Compression 1.5.0 Compression Level: 3, Long Mode - Compression Speed MB/s > Higher Is Better GCC 11.2.0 ... 240.0 |====================================================== Clang 13.0.1 . 253.7 |========================================================= Zstd Compression 1.5.0 Compression Level: 3, Long Mode - Decompression Speed MB/s > Higher Is Better GCC 11.2.0 ... 4221.1 |====================================================== Clang 13.0.1 . 4356.6 |======================================================== Zstd Compression 1.5.0 Compression Level: 8, Long Mode - Compression Speed MB/s > Higher Is Better GCC 11.2.0 ... 693.0 |======================================================== Clang 13.0.1 . 703.4 |========================================================= Zstd Compression 1.5.0 Compression Level: 8, Long Mode - Decompression Speed MB/s > Higher Is Better GCC 11.2.0 ... 4416.3 |====================================================== Clang 13.0.1 . 4553.4 |======================================================== Zstd Compression 1.5.0 Compression Level: 19, Long Mode - Compression Speed MB/s > Higher Is Better GCC 11.2.0 ... 18.8 |========================================================== Clang 13.0.1 . 18.8 |========================================================== Zstd Compression 1.5.0 Compression Level: 19, Long Mode - Decompression Speed MB/s > Higher Is Better GCC 11.2.0 ... 3765.4 |====================================================== Clang 13.0.1 . 3887.3 |======================================================== Coremark 1.0 CoreMark Size 666 - Iterations Per Second Iterations/Sec > Higher Is Better GCC 11.2.0 ... 179896.60 |===================================================== Clang 13.0.1 . 148361.36 |============================================ Himeno Benchmark 3.0 Poisson Pressure Solver MFLOPS > Higher Is Better GCC 11.2.0 ... 7577.32 |======================================================= Clang 13.0.1 . 7158.97 |==================================================== libavif avifenc 0.10 Encoder Speed: 0 Seconds < Lower Is Better GCC 11.2.0 ... 287.40 |===================================================== Clang 13.0.1 . 303.55 |======================================================== libavif avifenc 0.10 Encoder Speed: 2 Seconds < Lower Is Better GCC 11.2.0 ... 143.44 |================================================== Clang 13.0.1 . 161.61 |======================================================== libavif avifenc 0.10 Encoder Speed: 6 Seconds < Lower Is Better GCC 11.2.0 ... 14.09 |========================================================= Clang 13.0.1 . 13.52 |======================================================= libavif avifenc 0.10 Encoder Speed: 6, Lossless Seconds < Lower Is Better GCC 11.2.0 ... 15.65 |========================================================= Clang 13.0.1 . 14.93 |====================================================== libavif avifenc 0.10 Encoder Speed: 10, Lossless Seconds < Lower Is Better GCC 11.2.0 ... 6.070 |========================================================= Clang 13.0.1 . 5.887 |======================================================= C-Ray 1.1 Total Time - 4K, 16 Rays Per Pixel Seconds < Lower Is Better GCC 11.2.0 ... 64.44 |========================================== Clang 13.0.1 . 87.82 |========================================================= POV-Ray 3.7.0.7 Trace Time Seconds < Lower Is Better GCC 11.2.0 ... 72.02 |========================================================= Clang 13.0.1 . 62.42 |================================================= Primesieve 7.7 1e12 Prime Number Generation Seconds < Lower Is Better GCC 11.2.0 ... 29.12 |======================================================== Clang 13.0.1 . 29.63 |========================================================= AOBench Size: 2048 x 2048 - Total Time Seconds < Lower Is Better GCC 11.2.0 ... 27.46 |=============================================== Clang 13.0.1 . 33.40 |========================================================= FLAC Audio Encoding 1.3.3 WAV To FLAC Seconds < Lower Is Better GCC 11.2.0 ... 70.65 |========================================================= Clang 13.0.1 . 59.07 |================================================ LAME MP3 Encoding 3.100 WAV To MP3 Seconds < Lower Is Better GCC 11.2.0 ... 7.239 |=================================================== Clang 13.0.1 . 8.124 |========================================================= eSpeak-NG Speech Engine 20200907 Text-To-Speech Synthesis Seconds < Lower Is Better GCC 11.2.0 ... 22.29 |====================================================== Clang 13.0.1 . 23.43 |========================================================= OpenJPEG 2.4 Encode: NASA Curiosity Panorama M34 ms < Lower Is Better GCC 11.2.0 ... 53890 |========================================================= Clang 13.0.1 . 52024 |======================================================= OpenSSL 3.0 Algorithm: SHA256 byte/s > Higher Is Better GCC 11.2.0 ... 8059691050 |================================================= Clang 13.0.1 . 8474527350 |==================================================== OpenSSL 3.0 Algorithm: RSA4096 sign/s > Higher Is Better GCC 11.2.0 ... 1408.5 |======================================================== Clang 13.0.1 . 1391.4 |======================================================= OpenSSL 3.0 Algorithm: RSA4096 verify/s > Higher Is Better GCC 11.2.0 ... 99370.5 |======================================================= Clang 13.0.1 . 99445.4 |======================================================= Liquid-DSP 2021.01.31 Threads: 1 - Buffer Length: 256 - Filter Length: 57 samples/s > Higher Is Better GCC 11.2.0 ... 28778667 |========================================= Clang 13.0.1 . 37897333 |====================================================== Liquid-DSP 2021.01.31 Threads: 2 - Buffer Length: 256 - Filter Length: 57 samples/s > Higher Is Better GCC 11.2.0 ... 57611000 |========================================= Clang 13.0.1 . 75898667 |====================================================== Liquid-DSP 2021.01.31 Threads: 4 - Buffer Length: 256 - Filter Length: 57 samples/s > Higher Is Better GCC 11.2.0 ... 115230000 |======================================== Clang 13.0.1 . 151820000 |===================================================== Liquid-DSP 2021.01.31 Threads: 8 - Buffer Length: 256 - Filter Length: 57 samples/s > Higher Is Better GCC 11.2.0 ... 151120000 |========================================= Clang 13.0.1 . 196510000 |===================================================== libjpeg-turbo tjbench 2.1.0 Test: Decompression Throughput Megapixels/sec > Higher Is Better GCC 11.2.0 ... 206.18 |======================================================== Clang 13.0.1 . 197.95 |====================================================== SQLite Speedtest 3.30 Timed Time - Size 1,000 Seconds < Lower Is Better GCC 11.2.0 ... 51.37 |======================================================= Clang 13.0.1 . 52.90 |========================================================= Google Draco 1.5.0 Model: Lion ms < Lower Is Better GCC 11.2.0 ... 3747 |========================================================== Clang 13.0.1 . 3772 |========================================================== Google Draco 1.5.0 Model: Church Facade ms < Lower Is Better GCC 11.2.0 ... 5649 |========================================================= Clang 13.0.1 . 5722 |========================================================== Stress-NG 0.13.02 Test: Crypto Bogo Ops/s > Higher Is Better GCC 11.2.0 ... 1511.75 |====================================================== Clang 13.0.1 . 1527.17 |======================================================= Stress-NG 0.13.02 Test: IO_uring Bogo Ops/s > Higher Is Better GCC 11.2.0 ... 144281.67 |==================================================== Clang 13.0.1 . 147040.98 |===================================================== Stress-NG 0.13.02 Test: Matrix Math Bogo Ops/s > Higher Is Better GCC 11.2.0 ... 23588.96 |========================================== Clang 13.0.1 . 30254.21 |====================================================== Stress-NG 0.13.02 Test: Vector Math Bogo Ops/s > Higher Is Better GCC 11.2.0 ... 23954.10 |=============================== Clang 13.0.1 . 41899.94 |====================================================== Stress-NG 0.13.02 Test: Memory Copying Bogo Ops/s > Higher Is Better GCC 11.2.0 ... 2763.25 |========================================= Clang 13.0.1 . 3741.17 |======================================================= Stress-NG 0.13.02 Test: Socket Activity Bogo Ops/s > Higher Is Better GCC 11.2.0 ... 4331.71 |======================================================= Clang 13.0.1 . 4313.48 |======================================================= NCNN 20210720 Target: CPU - Model: mobilenet ms < Lower Is Better GCC 11.2.0 ... 14.40 |===================================== Clang 13.0.1 . 22.21 |========================================================= NCNN 20210720 Target: CPU-v2-v2 - Model: mobilenet-v2 ms < Lower Is Better GCC 11.2.0 ... 2.61 |========================== Clang 13.0.1 . 5.84 |========================================================== NCNN 20210720 Target: CPU-v3-v3 - Model: mobilenet-v3 ms < Lower Is Better GCC 11.2.0 ... 2.34 |============================ Clang 13.0.1 . 4.82 |========================================================== NCNN 20210720 Target: CPU - Model: shufflenet-v2 ms < Lower Is Better GCC 11.2.0 ... 2.17 |================================= Clang 13.0.1 . 3.76 |========================================================== NCNN 20210720 Target: CPU - Model: mnasnet ms < Lower Is Better GCC 11.2.0 ... 2.52 |========================= Clang 13.0.1 . 5.86 |========================================================== NCNN 20210720 Target: CPU - Model: efficientnet-b0 ms < Lower Is Better GCC 11.2.0 ... 4.18 |========================= Clang 13.0.1 . 9.51 |========================================================== NCNN 20210720 Target: CPU - Model: googlenet ms < Lower Is Better GCC 11.2.0 ... 13.32 |============================== Clang 13.0.1 . 25.11 |========================================================= NCNN 20210720 Target: CPU - Model: vgg16 ms < Lower Is Better GCC 11.2.0 ... 33.78 |======================== Clang 13.0.1 . 80.44 |========================================================= NCNN 20210720 Target: CPU - Model: resnet18 ms < Lower Is Better GCC 11.2.0 ... 7.31 |======================= Clang 13.0.1 . 18.18 |========================================================= NCNN 20210720 Target: CPU - Model: alexnet ms < Lower Is Better GCC 11.2.0 ... 11.81 |===================== Clang 13.0.1 . 31.66 |========================================================= NCNN 20210720 Target: CPU - Model: resnet50 ms < Lower Is Better GCC 11.2.0 ... 17.16 |===================== Clang 13.0.1 . 46.79 |========================================================= NCNN 20210720 Target: CPU - Model: yolov4-tiny ms < Lower Is Better GCC 11.2.0 ... 17.20 |============================== Clang 13.0.1 . 32.77 |========================================================= NCNN 20210720 Target: CPU - Model: squeezenet_ssd ms < Lower Is Better GCC 11.2.0 ... 14.26 |======================================== Clang 13.0.1 . 20.15 |========================================================= NCNN 20210720 Target: CPU - Model: regnety_400m ms < Lower Is Better GCC 11.2.0 ... 5.88 |========================================== Clang 13.0.1 . 8.08 |========================================================== WavPack Audio Encoding 5.3 WAV To WavPack Seconds < Lower Is Better GCC 11.2.0 ... 17.21 |=================================================== Clang 13.0.1 . 19.32 |=========================================================