This is because of the increase in number of memory allocations. resetLogTail() now creates a new backing array for the log entries on each transaction release call.
On profiling go-redis-pmem CPU usage, the following stats were obtained:
Before the commit: 23% of CPU cycles were spent in mallocgc()
After the commit: 47% CPU cycles spent in mallocgc
CPU profiling data from both the runs attached to this issue.
data.zip
Memtier benchmark throughput when run against go-redis-pmem is seen to be very low as a result of commit #e135bf8.
Throughput numbers after the commit:
Throughput numbers before the commit:
This is because of the increase in number of memory allocations.
resetLogTail()
now creates a new backing array for the log entries on each transaction release call.On profiling go-redis-pmem CPU usage, the following stats were obtained: Before the commit: 23% of CPU cycles were spent in mallocgc() After the commit: 47% CPU cycles spent in mallocgc
CPU profiling data from both the runs attached to this issue. data.zip