LAME VBR Performance Study

Throughput benchmark · plain builds and enhanced builds

Performance recovery in enhanced 3.101 beta 3 builds

This page separates the VBR performance story from the bitrate-curve story. The plain 3.100 / 3.101b3 path is slow, while the enhanced Visual Studio 2026 3.101b3 builds recover and exceed 3.99.5 throughput using SIMD path selection and OpenMP multi-thread support.

The short version

The enhanced 3.101b3 VS builds are fastest overall. They win every album/setting combination in the current test set.

3.99.5 is the strongest official/plain speed reference. It wins 13 of 15 official/plain comparisons.

3.100 matches 3.99.5 output size but is roughly twice as slow. That points to an implementation or plain-build performance regression, not a different VBR decision.

VBR performance charts

These charts use LAME 3.99.5 as the baseline. A value of 1.0x means equal speed; larger values mean faster encoding on the test system. Output-size differences near 0% mean the file size was effectively unchanged for that setting.

Horizontal grouped bar chart showing VBR encoding speed multipliers compared with LAME 3.99.5
VBR speed multipliers across the three-album test set. The enhanced Visual Studio 2026 builds are shown against 3.99.5 as the speed reference.
Horizontal grouped bar chart showing VBR output size differences compared with LAME 3.99.5
VBR output-size difference versus 3.99.5. The very small deltas show that the optimized builds preserve the same modern output-size family while changing encode speed.

These charts compare output size and encoding time only. They do not claim audible quality differences.

What “enhanced” means here

The Optimized Visual Studio 2026 builds are not merely recompiled copies of the MinGW binaries. They include runtime SIMD path selection for SSE, AVX2 and AVX-512 capable CPUs, and OpenMP multi-thread support for parallel work where the encoder path can use it.

For that reason, the performance result should be read as Optimized 3.101b3 target builds compared with a controlled plain MinGW baseline, not as a simple compiler brand comparison.

Average encode time across three albums

Lower is faster. Times are average elapsed seconds per album at each VBR level. All non-Optimized rows are MinGW plain builds; Optimized rows are Visual Studio 2026 builds.

Version / buildToolchain-V0-V1-V2-V3-V4
3.95.1 MinGW plain 68.64 s 69.98 s 70.79 s 85.27 s 83.02 s
3.96.1 MinGW plain 69.39 s 71.23 s 71.83 s 86.14 s 84.83 s
3.97 MinGW plain 63.25 s 63.86 s 64.84 s 75.34 s 74.84 s
3.98.4 MinGW plain 36.46 s 35.53 s 34.73 s 33.42 s 33.05 s
3.99.5 MinGW plain 36.28 s 34.89 s 34.07 s 33.01 s 32.23 s
3.100 MinGW plain 68.86 s 67.69 s 67.48 s 66.88 s 65.67 s
3.101b3 cVBR MinGW plain 64.98 s 62.20 s 61.17 s 59.43 s 58.58 s
3.101b3 cVBR Optimized Visual Studio 2026 27.06 s 26.45 s 26.10 s 25.85 s 25.57 s
3.101b3 cVBRb Optimized Visual Studio 2026 26.99 s 26.39 s 26.84 s 25.68 s 25.57 s

Winner count across 15 tests

There are three albums and five VBR settings, giving 15 album/setting combinations. The table now includes zero-win rows, so 3.95.1 and 3.100 are visible as part of the tested set rather than silently omitted.

Version / buildToolchainSmallest output winsFastest official/plain winsFastest overall wins
3.95.1 MinGW plain 0 0 0
3.96.1 MinGW plain 6 0 0
3.97 MinGW plain 4 0 0
3.98.4 MinGW plain 3 2 0
3.99.5 MinGW plain 1 13 0
3.100 MinGW plain 0 0 0
3.101b3 cVBR MinGW plain 1 0 0
3.101b3 cVBR Optimized Visual Studio 2026 0 0 4
3.101b3 cVBRb Optimized Visual Studio 2026 0 0 11

Optimized 3.101b3 builds versus 3.99.5

The Optimized builds preserve the same modern output-size family while reducing elapsed time. Overall, the best Optimized result is approximately 30.4% faster than 3.99.5 across the five VBR settings.

Setting3.99.5 avg timeBest Optimized 3.101b3 timeSpeed gainOutput-size difference
-V0 36.28 s 26.99 s +34.4% -0.017%
-V1 34.89 s 26.39 s +32.2% -0.023%
-V2 34.07 s 26.10 s +30.5% -0.029%
-V3 33.01 s 25.68 s +28.5% +0.004%
-V4 32.23 s 25.57 s +26.0% +0.005%

Plain 3.100 versus 3.99.5

3.100 produced the same average output size as 3.99.5 in this dataset, but with a large timing penalty.

Setting3.99.5 avg time3.100 avg time3.100 slower byOutput size
-V0 36.28 s 68.86 s +89.8% matches 3.99.5
-V1 34.89 s 67.69 s +94.0% matches 3.99.5
-V2 34.07 s 67.48 s +98.1% matches 3.99.5
-V3 33.01 s 66.88 s +102.6% matches 3.99.5
-V4 32.23 s 65.67 s +103.7% matches 3.99.5

How to describe the result

1. Performance enhancement, not just compiler comparison

The VS builds were made with Visual Studio 2026 and are intentionally performance-enhanced. They use runtime SIMD path selection for SSE, AVX2 and AVX-512 capable CPUs, plus OpenMP multi-thread support. They should be described as optimized target builds rather than as a plain MSVC-versus-MinGW comparison.

2. 3.99.5 remains the sound target

Based on listening preference and the matching modern VBR profile, 3.99.5 is the subjective reference point for the forward work.

3. 3.101b3 is the forward base

The enhanced 3.101b3 builds retain the 3.99.5-style output profile while delivering substantially better throughput through the added SIMD and OpenMP execution paths.

4. Plain newer builds show the regression

The unenhanced 3.100 / 3.101b3 path is much slower even when the output-size profile matches 3.99.5.