Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Tcmalloc Alternatives
Similar projects and alternatives to tcmalloc
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
tcmalloc reviews and mentions
-
Configuring HugePages on Google's TCMalloc
https://github.com/google/tcmalloc/issues/190
-
Configuring HugePages on TCMalloc
I had earlier raised a query on the github.com/google/tcmalloc regarding how I can force tcmalloc to back memory with hugetlbfs instead of using Transparent Huge Pages. I have attached the link to my query below. Please let me know if there is an possible way to do this.
-
New memory related fields in Yugabyte 2.17.3 pg_stat_activity
The allocated_mem_bytes field shows the memory allocated by the memory allocator. PostgreSQL is setup in an extensible way, which includes the ability to choose a memory allocator, which for PostgreSQL is ptmalloc, and for YSQL is tcmalloc. PostgreSQL has the ability to change the memory allocator, but by default uses the operating system memory allocator.
-
Spotting and Avoiding Heap Fragmentation in Rust Applications
> * Switching from libc malloc to tcmalloc (dating myself a little bit)
If you think of tcmalloc as an old crusty allocator, you've probably only seen the gperftools version of it.
This is the version Google now uses internally: https://github.com/google/tcmalloc
It's worth a fresh look. In particular, it supports per-CPU caches as an alternative to per-thread caches. Those are fantastic if you have a lot more threads than CPUs.
-
I've had bad luck with transparent hugepages on my Linux machines
The default setting of max_ptes_none is also problematic.
On a stock kernel, it's 511. TCMalloc's docs recommend using max_ptes_none set to 0 for this reason: https://github.com/google/tcmalloc/blob/master/docs/tuning.m...
(Disclosure: I work on TCMalloc and authored the above doc.)
-
Pages Are a Good Idea
The easiest way to exploit THP, by far, is to link your program against TCMalloc and forget about it. Literally free money. Highly recommended.
https://github.com/google/tcmalloc
- Why tcmalloc using aggresive decommit == false is a litte better than jemalloc
- System memory allocator free operation zeroes out deallocated blocks in iOS 16
-
malloc() and free() are a bad API
This means that efficient malloc implementation is typically overly complicated. mimalloc for example is almost 8K lines of C afaik, which is one of the smaller but still efficient malloc implementation I'm aware of. (Try looking into tcmalloc for comparison).
-
malloc global mutex?
Yes, it is synchronized, you can also swap out the implementation typically. There are different allocators out there depending on what you are trying to optimize for (memory, single thread performance, multithread performance, locality, etc). A lot of multithreading optimized ones use per thread pools, so each individual allocation doesn't need to globally lock, but changing the pools themself does, or large allocations that aren't part of the pools. For example https://github.com/google/tcmalloc
-
A note from our sponsor - InfluxDB
www.influxdata.com | 24 Apr 2024
Stats
google/tcmalloc is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of tcmalloc is C++.
Sponsored