7-Zip for Windows can now use more than 64 CPU threads for compression
Windows >64‑thread limitation and processor groups
- Windows exposes “processor groups” of up to 64 hardware threads, with per‑group affinity masks baked into old APIs and parts of the driver ABI.
- Earlier 7‑Zip counted cores via affinity masks, capping it at 64 threads; newer APIs (e.g.
GetActiveProcessorCountwithALL_PROCESSOR_GROUPS) and explicit group handling are needed to see and use more. - On systems with multiple groups, 7‑Zip now spreads worker threads across groups itself; Windows doesn’t fully abstract this on pre‑11 releases.
- There is disagreement over how much Windows 11’s updated scheduler automatically spreads a single process across groups versus still requiring app changes for optimal use.
- Some note compression isn’t trivially parallel: too‑small chunks hurt ratio, shared dictionaries need coordination, and IO often bottlenecks before CPU on huge archives.
Historical design and scaling debates
- Early NT used 64‑bit affinity masks when >64 CPUs were exotic; many see that as reasonable for 1990s hardware.
- Others argue high‑core SMP/NUMA existed on non‑x86 systems in the late 90s, and NT’s limits may have discouraged high‑core x86 servers.
- Timeline points: NUMA scheduling in NT 5.0, processor groups in 6.1, and x86 systems surpassing 64 cores only becoming common in the 2010s.
- Linux also had hardcoded CPU limits but tends to break ABIs more readily to scale up.
7‑Zip’s role vs Windows built‑in tools
- Many still see 7‑Zip as the de‑facto Windows archiver: free, fast, supports many formats, simple context‑menu integration, good encryption.
- Others say Windows 11’s libarchive‑based support for ZIP/7z/RAR/TAR makes 7‑Zip less necessary for casual users.
- Reports say the built‑in tool is significantly slower and flakier on very large, many‑file archives.
- Opinions on the 7‑Zip GUI are split: some call it dated but efficient, others prefer alternatives like PeaZip or NanaZip; many just use the right‑click menu.
zstd, other codecs, and compatibility
- Some worry 7‑Zip will lose relevance without native zstd; community forks (7‑Zip‑zstd, NanaZip) add it but upstream development is described as very closed to contributions.
- Others claim most end‑users don’t care about zstd; ubiquity and compatibility of classic ZIP (DEFLATE) dominate.
- The ZIP spec now defines zstd (method 93) and other methods, but real‑world support is patchy; many systems still use old
zip/unzipwithout these. - There’s a long back‑and‑forth on “good enough” formats (DEFLATE, JPEG, H.264) vs pushing newer tech (zstd, LZMA, H.265/AV1), and on the cost to users of requiring updated tools.
Cross‑platform tools and UX
- On Unix‑like systems,
tarplus gzip/xz/zstd and bsdtar/libarchive provide a similar “open almost anything” role to 7‑Zip. - macOS users miss 7‑Zip’s Windows shell integration; suggested alternatives include Keka, PeaZip, and CLI 7‑Zip via Homebrew.