Argon2 Parallelism Calculator
Choose the Argon2 lane count for your CPU, and check the minimum memory and per-lane allocation it forces.
About Argon2 Parallelism Calculator
Argon2 divides its memory matrix into p lanes and each lane into four segments, letting p threads work a segment at a time. Lanes above the thread count you can actually schedule add synchronisation overhead without adding cost for the attacker. Setting p higher than the cores you own slows your own logins while leaving attacker cost unchanged, and choosing p without checking the 8 × p memory minimum produces a configuration the library will simply reject.
Formula
Argon2 Parallelism
p = available hardware threads, capped at 16; each lane gets m ÷ p KiB split into 4 segments, and m must be ≥ 8 × p.
- p
- Argon2 parallelism (lane count)
- m
- Memory cost in KiB
- segment
- A quarter of a lane — the unit Argon2 threads synchronise on
Worked example
With the default values below, Argon2 Parallelism Calculator returns Recommended Lanes (p) of 12. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Physical CPU coresaccepts 1–256 cores
- 8 cores
- Threads per coreaccepts 1–4 threads
- 2 threads
- Threads reserved for other workaccepts 0–128 threads
- 4 threads
- Memory costaccepts 1–4,096 MiB
- 64 MiB
Results
- Recommended Lanes (p)
- 12
- Threads Available for Hashing
- 12
- Memory per Lane
- 5.33 MiB
- Minimum Legal Memory
- 96 KiB
- Blocks per Segment
- 1,365
- Assessment
- Use p=12 with m ≥ 96 KiB
Step by step
- 1Values used
- 2Argon2 Parallelism
- 3Recommended Lanes (p)= 12
- 4Threads Available for Hashing= 12
- 5Memory per Lane= 5.33 MiB
- 6Minimum Legal Memory= 96 KiB
- 7Blocks per Segment= 1,365
- 8Assessment= Use p=12 with m ≥ 96 KiB
Assumptions and limits
- The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax or compounding frequency into account.
- Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
How is Argon2 Parallelism calculated?
p = available hardware threads, capped at 16; each lane gets m ÷ p KiB split into 4 segments, and m must be ≥ 8 × p. Argon2 divides its memory matrix into p lanes and each lane into four segments, letting p threads work a segment at a time. Lanes above the thread count you can actually schedule add synchronisation overhead without adding cost for the attacker.
Why does Argon2 Parallelism matter?
Setting p higher than the cores you own slows your own logins while leaving attacker cost unchanged, and choosing p without checking the 8 × p memory minimum produces a configuration the library will simply reject.
What values do I need to enter?
This calculator takes 4 inputs: Physical CPU cores, Threads per core, Threads reserved for other work, Memory cost. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Does higher parallelism make Argon2 weaker?
Not directly — total memory × passes is unchanged. But because p is recorded in the hash string, a verifier must be able to spawn p threads. Server deployments hashing many passwords at once usually set p=1 and rely on concurrency across requests instead.
