rabbitmq / ra

A Raft implementation for Erlang and Elixir that strives to be efficient and make it easier to use multiple Raft clusters in a single system.
Other
813 stars 96 forks source link

Use term_to_iovec instead of term_to_binary in WAL #278

Closed kjnilsson closed 2 years ago

kjnilsson commented 2 years ago

This should result in fewer allocations inside the WAL as less binary data will typically be copied when serialising each entry term.

Include two perf page-fault captures:

main branch: out_mem_main this PR: out_mem_pr

kjnilsson commented 2 years ago

Here are the cpu comparisons. There isn't that much in it.

Main: out_cpu_main2

This PR: out_cpu_iovec