I Use This!
Very Low Activity
Analyzed 5 days ago. based on code collected 5 days ago.

Project Summary

These tools are for use by developers so that they can create more robust applications. Especially of use to those developing multi-threaded applications in C++ with templates. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.

Recent news:

20 January 2010I've just released perftools 1.5

This version has a slew of changes, leading to somewhat faster performance and improvements in portability. It adds features like ITIMER_REAL support to the cpu profiler, and tc_set_new_mode to mimic the windows function of the same name. Full details are in the Changelog.

11 September 2009I've just released perftools 1.4

The major change this release is the addition of a debugging malloc library! If you link with libtcmalloc_debug.so instead of libtcmalloc.so (and likewise for the minimal variants) you'll get a debugging malloc, which will catch double-frees, writes to freed data, free/delete and delete/delete[] mismatches, and even (optionally) writes past the end of an allocated block.

We plan to do more with this library in the future, including supporting it on Windows, and adding the ability to use the debugging library with your default malloc in addition to using it with tcmalloc.

There are also the usual complement of bug fixes, documented in the ChangeLog, and a few minor user-tunable knobs added to components like the system allocator.

9 June 2009I've just released perftools 1.3

Like 1.2, this has a variety of bug fixes, especially related to the Windows build. One of my bugfixes is to undo the weird ld -r fix to .a files that I introduced in perftools 1.2: it caused problems on too many platforms. I've reverted back to normal .a files. To work around the original problem that prompted the ld -r fix, I now provide libtcmalloc_and_profiler.a, for folks who want to link in both.

The most interesting API change is that I now not only override malloc/free/etc, I also expose them via a unique set of symbols: tc_malloc/tc_free/etc. This enables clients to write their own memory wrappers that use tcmalloc:

void* malloc(size_t size) { void* r = tc_malloc(size); Log(r); return r; }17 April 2009I've just released perftools 1.2.

This is mostly a bugfix release. The major change is internal: I have a new system for creating packages, which allows me to create 64-bit packages. (I still don't do that for perftools, because there is still no great 64-bit solution, with libunwind still giving problems and --disable-frame-pointers not practical in every environment.)

Another interesting change involves Windows: a new patch allows users to choose to override malloc/free/etc on Windows rather than patching, as is done now. This can be used to create custom CRTs.

My fix for this bug involving static linking ended up being to make libtcmalloc.a and libperftools.a a big .o file, rather than a true ar archive. This should not yield any problems in practice -- in fact, it should be better, since the heap profiler, leak checker, and cpu profiler will now all work even with the static libraries -- but if you find it does, please file a bug report.

Finally, the profile_handler_unittest provided in the perftools testsuite (new in this release) is failing on FreeBSD. The end-to-end test that uses the profile-handler is passing, so I suspect the problem may be with the test, not the perftools code itself. However, I do not know enough about how itimers work on FreeBSD to be able to debug it. If you can figure it out, please let me know!

11 March 2009I've just released perftools 1.1!

It has many changes since perftools 1.0 including

Faster performance due to dynamically sized thread caches Better heap-sampling for more realistic profiles Improved support on Windows (MSVC 7.1 and cygwin) Better stacktraces in linux (using VDSO) Many bug fixes and feature requests Note: if you use the CPU-profiler with applications that fork without doing an exec right afterwards, please see the README. Recent testing has shown that profiles are unreliable in that case. The problem has existed since the first release of perftools. We expect to have a fix for perftools 1.2. For more details, see issue 105.

Everyone who uses perftools 1.0 is encouraged to upgrade to perftools 1.1. If you see any problems with the new release, please file a bug report at http://code.google.com/p/google-perftools/issues/list.




In a Nutshell, google-perftools...

BSD 4-clause (University of California-Specific)

Commercial Use



Place Warranty


Hold Liable

Use Trademarks


Include Copyright

Include License

These details are provided for information only. No information here is legal advice and should not be used as such.

Project Security

Vulnerabilities per Version ( last 10 releases )

Project Vulnerability Report

Security Confidence Index

Poor security track-record
Favorable security track-record

Vulnerability Exposure Index

Many reported vulnerabilities
Few reported vulnerabilities

Did You Know...

  • ...
    55% of companies leverage OSS for production infrastructure
  • ...
    check out hot projects on the Open Hub
  • ...
    in 2016, 47% of companies did not have formal process in place to track OS code
  • ...
    data presented on the Open Hub is available through our API
About Project Security


9 Other

30 Day Summary

Jan 3 2023 — Feb 2 2023

12 Month Summary

Feb 2 2022 — Feb 2 2023
  • 4 Commits
    Down -37 (90%) from previous 12 months
  • 2 Contributors
    Down -5 (71%) from previous 12 months