r/AV2 • u/Balance- • 6h ago
AV2 reference encoder (AVM) on Intel P-cores vs E-cores: E-cores are half as fast, but still add ~50% throughput
I've been encoding AV2 test streams with AVM, the AV2 reference encoder, which is very slow. So I measured how best to spread a batch of encodes over a hybrid laptop CPU: an i7-12700H with 6 P-cores (with hyperthreading) and 8 E-cores.
Each encode used one thread, --cpu-used=6, and was pinned to a single core, using short 270p and 720p clips from the AV2 test set.
- An E-core encodes at about half the speed of a P-core. That held for 8-bit, 10-bit and 720p input, and dropped to about 42% with all cores busy.
- The E-cores still add ~50% throughput. 6 P-cores give 268 frames/min, 6 P + 8 E give 400. The P-cores lose only 4% when the E-cores are busy too.
- Hyperthreading adds 15% on the P-cores alone, but only about 2% once the E-cores are busy. Clocks drop, so it looks like a power limit.
- Pinning barely matters. All layouts using all cores land within 10% of each other. Unpinned, Windows shuffles the encodes between core types, so they all finish around the same time.
My personal take-way is to run 14 single-threaded encodes and let the OS schedule them. If you pin them, put the long encodes on P-cores.
Full write-up with figures, raw data and scripts: https://github.com/EwoutH/AV2/tree/main/perf/2026-10-15-avm-p-vs-e-cores
Earlier test on AVM's speed presets: https://github.com/EwoutH/AV2/tree/main/perf/2026-10-14-avm-preset-sweep