Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
jemalloc: avoid bottlenecks with C threads
Current default jemalloc settings: ``` ╭──────────────────────────────────────┬───────────────────────────┬───────────────────────────╮ │name │ minor-allocated │ monotonic clock/op │ ├──────────────────────────────────────┼───────────────────────────┼───────────────────────────┤ │ concurrent semaphore + sleep fix:1 │ 14.4615 mnw/run│ 40.7085 ms/op/run│ │ concurrent semaphore + sleep fix:8 │ 76.0000 mnw/run│ 39.6229 ms/op/run│ ╰──────────────────────────────────────┴───────────────────────────┴───────────────────────────╯ ``` A flamegraph shows that 'sha512_crypt_r' spends >90% of time in jemalloc and not on hashing. With 'tcache:true' ``` ╭──────────────────────────────────────┬───────────────────────────┬───────────────────────────╮ │name │ minor-allocated │ monotonic clock/op │ ├──────────────────────────────────────┼───────────────────────────┼───────────────────────────┤ │ concurrent semaphore + sleep fix:1 │ 10.1538 mnw/run│ 1.6766 ms/op/run│ │ concurrent semaphore + sleep fix:8 │ 67.3600 mnw/run│ 0.4431 ms/op/run│ ╰──────────────────────────────────────┴───────────────────────────┴───────────────────────────╯ ``` Without jemalloc: ``` ╭──────────────────────────────────────┬───────────────────────────┬───────────────────────────╮ │name │ minor-allocated │ monotonic clock/op │ ├──────────────────────────────────────┼───────────────────────────┼───────────────────────────┤ │ concurrent semaphore + sleep fix:1 │ 10.0488 mnw/run│ 1.5649 ms/op/run│ │ concurrent semaphore + sleep fix:8 │ 67.1111 mnw/run│ 0.3858 ms/op/run│ ╰──────────────────────────────────────┴───────────────────────────┴───────────────────────────╯ ``` Signed-off-by: Edwin Török <[email protected]>
- Loading branch information