Won't Do
Details
Details
Assignee
Kevin Zhao
Kevin ZhaoReporter
Kevin Zhao
Kevin ZhaoOriginal estimate
4w
Time tracking
No time logged4w remaining
Sprint
None
Priority
Checklist
Checklist
Sentry
Sentry
Created August 26, 2021 at 5:11 AM
Updated April 12, 2023 at 1:09 AM
Resolved April 12, 2023 at 1:09 AM
TCMalloc is Google's customized implementation of C's
malloc()
and C++'soperator new
used for memory allocation within our C and C++ code. TCMalloc is a fast, multi-threaded malloc implementation.https://github.com/google/tcmalloc contains the repo for tcmalloc which has been open sourced at 2020. In 2015, Google also has opened source a gperftools repo, which contains the tcmalloc tools. Since “Profiling a Warehouse-Scale Computer” (Kanev 2015), we have invested in improving application productivity via optimizations to the implementation (per-CPU caches, sized delete, fast/slow path improvements, hugepage-aware backend).
There are some storage project such as Ceph are using the gperftools as tcmalloc function, but actually this repo is a little un-active and the new TCmalloc is coming. Also the old gperftools has issue with 64K page size allocation: https://github.com/gperftools/gperftools/pull/1269
This task, we will build and test the tcmalloc and help some upstream to bump their dependencies to the new tcmalloc