mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-21 00:50:35 +00:00
update_write_metrics() is a continuation added solely for updating statistics. Fold it into do_update to reduce an allocation in the write path. ```console $ ./artifacts/before --write --smp 1 2<&1 | grep insn 189930.77 tps ( 57.2 allocs/op, 13.2 tasks/op, 50994 insns/op, 0 errors) 189954.18 tps ( 57.2 allocs/op, 13.2 tasks/op, 51086 insns/op, 0 errors) 188623.86 tps ( 57.2 allocs/op, 13.2 tasks/op, 51083 insns/op, 0 errors) 190115.01 tps ( 57.2 allocs/op, 13.2 tasks/op, 51092 insns/op, 0 errors) 190173.71 tps ( 57.2 allocs/op, 13.2 tasks/op, 51083 insns/op, 0 errors) median 189954.18 tps ( 57.2 allocs/op, 13.2 tasks/op, 51086 insns/op, 0 errors) ``` vs ```console $ ./artifacts/after --write --smp 1 2<&1 | grep insn 190358.38 tps ( 56.2 allocs/op, 12.2 tasks/op, 50754 insns/op, 0 errors) 185222.78 tps ( 56.2 allocs/op, 12.2 tasks/op, 50789 insns/op, 0 errors) 184508.09 tps ( 56.2 allocs/op, 12.2 tasks/op, 50842 insns/op, 0 errors) 142099.47 tps ( 56.2 allocs/op, 12.2 tasks/op, 50825 insns/op, 0 errors) 190447.22 tps ( 56.2 allocs/op, 12.2 tasks/op, 50811 insns/op, 0 errors) ``` One allocation and ~300 cycles saved. update_write_metrics() is still called from other call sites, so it is not removed. Closes #12108