Repository navigation
Benchmark results #89
Copy link
Copy link
Open
Labels
performanceCPU and memory usage - results and comparisonsCPU and memory usage - results and comparisonsstale
Description
Encoder
Collection of bench results for various platforms and devices.
If you want to submit info about your device, simply run the bench tool or the extra/bench-all.sh and report the results in the comments below.
Suggestions for better summary of the results are welcome
| CPU | OS | Config | Model | Th | Load | Enc. | Commit |
|---|---|---|---|---|---|---|---|
| MacBook M1 Pro | MacOS 13.0.1 | NEON BLAS | tiny | 8 | 71 | 102 | 206fc93 |
| MacBook M1 Pro | MacOS 13.0.1 | NEON BLAS | base | 8 | 96 | 220 | 206fc93 |
| MacBook M1 Pro | MacOS 13.0.1 | NEON BLAS | small | 8 | 233 | 685 | 206fc93 |
| MacBook M1 Pro | MacOS 13.0.1 | NEON BLAS | medium | 8 | 603 | 1928 | 206fc93 |
| MacBook M1 Pro | MacOS 13.0.1 | NEON BLAS | large | 8 | 1158 | 3350 | 206fc93 |
| --- | |||||||
| MacBook M1 Pro | MacOS 13.0.1 | NEON BLAS | small | 1 | 251 | 2605 | 206fc93 |
| MacBook M1 Pro | MacOS 13.0.1 | NEON BLAS | small | 4 | 255 | 884 | 206fc93 |
| --- | |||||||
| Mac Mini M1 | MacOS | NEON BLAS | tiny | 4 | 62 | 194 | fcf515d |
| Mac Mini M1 | MacOS | NEON BLAS | base | 4 | 81 | 380 | fcf515d |
| Mac Mini M1 | MacOS | NEON BLAS | small | 4 | 204 | 1249 | fcf515d |
| Mac Mini M1 | MacOS | NEON BLAS | medium | 4 | 876 | 3980 | fcf515d |
| Mac Mini M1 | MacOS | NEON BLAS | large | 4 | 1876 | 7979 | fcf515d |
| --- | |||||||
| Ryzen 9 3900X | Ubuntu 20.04 | AVX2 | tiny | 8 | 107 | 422 | fcf515d |
| Ryzen 9 3900X | Ubuntu 20.04 | AVX2 | base | 8 | 137 | 880 | fcf515d |
| Ryzen 9 3900X | Ubuntu 20.04 | AVX2 | small | 8 | 280 | 2874 | fcf515d |
| Ryzen 9 3900X | Ubuntu 20.04 | AVX2 | medium | 8 | 692 | 9610 | fcf515d |
| Ryzen 9 3900X | Ubuntu 20.04 | AVX2 | large | 8 | 1317 | 16917 | fcf515d |
| --- | |||||||
| Ryzen 9 3900X | Ubuntu 20.04 | AVX2 BLAS | tiny | 4 | 120 | 780 | fcf515d |
| Ryzen 9 3900X | Ubuntu 20.04 | AVX2 BLAS | base | 4 | 151 | 1173 | fcf515d |
| Ryzen 9 3900X | Ubuntu 20.04 | AVX2 BLAS | small | 4 | 289 | 3062 | fcf515d |
| Ryzen 9 3900X | Ubuntu 20.04 | AVX2 BLAS | medium | 4 | 711 | 9175 | fcf515d |
| Ryzen 9 3900X | Ubuntu 20.04 | AVX2 BLAS | large | 4 | 1282 | 16050 | fcf515d |
| --- | |||||||
| Ryzen 9 5950X | Ubuntu 22.04 | AVX2 | tiny | 8 | 135 | 197 | fcf515d |
| Ryzen 9 5950X | Ubuntu 22.04 | AVX2 | base | 8 | 176 | 421 | fcf515d |
| Ryzen 9 5950X | Ubuntu 22.04 | AVX2 | small | 8 | 357 | 1393 | fcf515d |
| Ryzen 9 5950X | Ubuntu 22.04 | AVX2 | medium | 8 | 855 | 4404 | fcf515d |
| Ryzen 9 5950X | Ubuntu 22.04 | AVX2 | large | 8 | 1576 | 8118 | fcf515d |
| --- | |||||||
| Raspberry Pi 4 | NEON | tiny | 4 | 1436 | 13839 | fcf515d | |
| Raspberry Pi 4 | NEON | base | 4 | 1894 | 30552 | fcf515d | |
| --- | |||||||
| iPhone 13 Mini | iOS 16.0 | NEON BLAS | base | 4 | 97 | 1091 | fcf515d |
| --- | |||||||
| MacBook M1 Pro | Vivaldi | WASM | tiny | 8 | 133 | 3785 | fcf515d |
| MacBook M1 Pro | Vivaldi | WASM | base | 8 | 172 | 8253 | fcf515d |
| --- | |||||||
| MacBook M1 Pro | Chrome | WASM | tiny | 8 | 134 | 3776 | fcf515d |
| MacBook M1 Pro | Chrome | WASM | base | 8 | 168 | 8200 | fcf515d |
| --- | |||||||
| MacBook M1 Pro | Firefox | WASM | tiny | 8 | 137 | 2626 | fcf515d |
| MacBook M1 Pro | Firefox | WASM | base | 8 | 183 | 6226 | fcf515d |
memcpy
MacBook M1 Pro
./bench -w 1 -t 1
memcpy: 37.59 GB/s
Ryzen 9 5950X
./bench -w 1 -t 1
memcpy: 16.74 GB/s
ggml_mul_mat
MacBook M1 Pro
./bench -w 2 -t 1
ggml_mul_mat: 64 x 64: F16 330.6 GFLOPS (128 runs) / F32 466.0 GFLOPS (128 runs)
ggml_mul_mat: 128 x 128: F16 737.5 GFLOPS (128 runs) / F32 838.9 GFLOPS (128 runs)
ggml_mul_mat: 256 x 256: F16 938.6 GFLOPS (128 runs) / F32 1062.3 GFLOPS (128 runs)
ggml_mul_mat: 512 x 512: F16 1312.5 GFLOPS (128 runs) / F32 1835.5 GFLOPS (128 runs)
ggml_mul_mat: 1024 x 1024: F16 1765.1 GFLOPS (128 runs) / F32 2041.4 GFLOPS (128 runs)
ggml_mul_mat: 2048 x 2048: F16 1784.3 GFLOPS (104 runs) / F32 1859.2 GFLOPS (109 runs)
ggml_mul_mat: 4096 x 4096: F16 1855.1 GFLOPS ( 14 runs) / F32 1873.3 GFLOPS ( 14 runs)
Ryzen 9 5950X
WHISPER_OPENBLAS=1 make -j bench && ./bench -w 2 -t 1
ggml_mul_mat: 64 x 64: F16 56.3 GFLOPS (128 runs) / F32 70.2 GFLOPS (128 runs)
ggml_mul_mat: 128 x 128: F16 47.8 GFLOPS (128 runs) / F32 67.0 GFLOPS (128 runs)
ggml_mul_mat: 256 x 256: F16 185.1 GFLOPS (128 runs) / F32 332.7 GFLOPS (128 runs)
ggml_mul_mat: 512 x 512: F16 386.4 GFLOPS (128 runs) / F32 658.6 GFLOPS (128 runs)
ggml_mul_mat: 1024 x 1024: F16 636.2 GFLOPS (128 runs) / F32 1012.0 GFLOPS (128 runs)
ggml_mul_mat: 2048 x 2048: F16 950.9 GFLOPS ( 56 runs) / F32 1296.8 GFLOPS ( 76 runs)
ggml_mul_mat: 4096 x 4096: F16 1168.6 GFLOPS ( 9 runs) / F32 1403.1 GFLOPS ( 11 runs)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
performanceCPU and memory usage - results and comparisonsCPU and memory usage - results and comparisonsstale
Activity
cdosoftei commentedon Oct 25, 2022
Results for
Intel(R) Core(TM) i7-4790K CPU @ 4.00GHzrjwilmsi commentedon Oct 26, 2022
Results for Ryzen 5 4500U 6C/6T laptop CPU (I've just included one result for 8 threads as Encode time is much higher when threads > CPU cores).
ArtyomZemlyak commentedon Oct 26, 2022
ArtyomZemlyak commentedon Oct 26, 2022
ArtyomZemlyak commentedon Oct 26, 2022
ArtyomZemlyak commentedon Oct 26, 2022
This performance is impressing!
ggerganov commentedon Oct 26, 2022
Yes, there is a huge performance boost due to using the built-in BLAS implementation on these devices. I will soon add OpenBLAS support for x86 architectures and see how this compares.
By the way, AVX-512 is not supported on
master. I have added initial support here, but I am not sure if it works: #95cristianglezm commentedon Oct 28, 2022
compiled with MinGW64 gcc 11.3
tazz4843 commentedon Oct 29, 2022
Valve Jupiter (AMD Custom APU 0405, Zen 2 microarch, 4c8t, 16GB DDR5 @ 5200 MT/s)
Compiled with
cc (GCC) 11.3.0The performance gains on jfk.wav since last test (two weeks or so ago) are extremely impressive, ~10-20x speedup from 40 to 2-4 seconds.
yujinqiu commentedon Oct 30, 2022
trholding commentedon Oct 31, 2022
trholding commentedon Oct 31, 2022
trholding commentedon Oct 31, 2022
174 remaining items
Kotali-2019 commentedon Oct 11, 2025
My command : C:\Users\Administrator\whisper.cpp>whisper-bench.exe -m ggml-large-v3-turbo-q5_0.bin -w 0 -t 22 -ng -fa
I copied the compiled DLL from the llama.cpp project to run the test. I'm wondering if we could adapt the RPC mechanism from llama.cpp to improve performance.
system_info: n_threads = 22 / 48 | WHISPER : COREML = 0 | OPENVINO = 0 | CPU : SSE3 = 1 | SSSE3 = 1 | AVX = 1 | AVX2 = 1 | F16C = 1 | FMA = 1 | OPENMP = 1 | REPACK = 1 | CPU : SSE3 = 1 | SSSE3 = 1 | AVX = 1 | AVX2 = 1 | F16C = 1 | FMA = 1 | BMI2 = 1 | AVX512 = 1 | LLAMAFILE = 1 | OPENMP = 1 | REPACK = 1 |
whisper_init_from_file_with_params_no_state: loading model from 'ggml-large-v3-turbo-q5_0.bin'
whisper_init_with_params_no_state: use gpu = 0
whisper_init_with_params_no_state: flash attn = 1
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 4
whisper_model_load: loading model
whisper_model_load: n_vocab = 51866
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 1280
whisper_model_load: n_audio_head = 20
whisper_model_load: n_audio_layer = 32
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 1280
whisper_model_load: n_text_head = 20
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 128
whisper_model_load: ftype = 8
whisper_model_load: qntvr = 2
whisper_model_load: type = 5 (large v3)
whisper_model_load: adding 1609 extra tokens
whisper_model_load: n_langs = 100
whisper_model_load: CPU total size = 573.40 MB
whisper_model_load: model size = 573.40 MB
whisper_backend_init_gpu: no GPU found
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 10.49 MB
whisper_init_state: kv cross size = 31.46 MB
whisper_init_state: kv pad size = 7.86 MB
whisper_init_state: compute buffer (conv) = 36.15 MB
whisper_init_state: compute buffer (encode) = 55.35 MB
whisper_init_state: compute buffer (cross) = 9.27 MB
whisper_init_state: compute buffer (decode) = 99.12 MB
whisper_print_timings: load time = 790.12 ms
whisper_print_timings: fallbacks = 0 p / 0 h
whisper_print_timings: mel time = 0.00 ms
whisper_print_timings: sample time = 0.00 ms / 1 runs ( 0.00 ms per run)
whisper_print_timings: encode time = 14003.48 ms / 1 runs ( 14003.48 ms per run)
whisper_print_timings: decode time = 2336.72 ms / 256 runs ( 9.13 ms per run)
whisper_print_timings: batchd time = 1367.44 ms / 320 runs ( 4.27 ms per run)
whisper_print_timings: prompt time = 7844.55 ms / 4096 runs ( 1.92 ms per run)
whisper_print_timings: total time = 25554.03 ms
Xionghaizi001 commentedon Oct 27, 2025
My command is :
whisper-bench.exe -m ./Model/ggml-medium.bin -t 8Other information:
DimucaTheDev commentedon Dec 3, 2025
Windows 11 Pro 26100
Ryzen 7 5700X 4.6GHz
64 GB DDR4
Bins downloaded from repo
santiago-afonso commentedon Dec 29, 2025
I am sharing my results, which I obtained with codex's help. The thing points out something interesting below (Vulkan looks fastest for the encoder microbench, but for real transcription (whisper-cli) the CPU AVX512 path is clearly faster) cc @ggerganov :
santiago-afonso commentedon Dec 29, 2025
Followup info in case it's useful:
TheCluster commentedon Jan 17, 2026
CoreML benchmarks
Mac Studio
Apple M1 Ultra (16+4 CPU cores, 48 GPU cores, 64Gb RAM)
32 core Apple Neural Engine
macOS Tahoe 26.2 (25C56)
Flash attention: OFF
Flash attention: ON
Modified benchmark script ( with --no-gpu option)
CPU, GPU & ANE utilization for default benchmark:
CPU, GPU & ANE utilization for benchmark with --no-gpu option:
kz26 commentedon Feb 4, 2026
OS: Windows 11 Pro x64 build 26200
Software: whisper.cpp 1.8.3 built with MSVC 19.50.35723.0 and Vulkan SDK 1.4.341.0
Hardware: AMD Radeon RX 9070 XT 16GB (Powercolor Hellhound)
Model: Large v3
dimon777 commentedon Feb 15, 2026
dimon777 commentedon Feb 15, 2026
bench : sync submit-results URL to ggml-org
bench : sync submit-results URL to ggml-org (#3769)
bench : sync submit-results URL to ggml-org (ggml-org#3769)
tabletuser-blogspot commentedon Aug 12, 2026
github-actions commentedon Sep 12, 2026
This issue was marked as stale because it has been inactive for 30 days.