7
I Use This!
High Activity
Analyzed about 2 hours ago. based on code collected about 4 hours 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.

Enjoy!

Tags

google

In a Nutshell, google-perftools...

BSD 4-clause (University of California-Specific)
Permitted

Commercial Use

Modify

Distribute

Place Warranty

Forbidden

Hold Liable

Use Trademarks

Required

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 )

There are no reported vulnerabilities

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...

  • ...
    nearly 1 in 3 companies have no process for identifying, tracking, or remediating known open source vulnerabilities
  • ...
    by exploring contributors within projects, you can view details on every commit they have made to that project
  • ...
    65% of companies leverage OSS to speed application development in 2016
  • ...
    anyone with an Open Hub account can update a project's tags
About Project Security

Languages

C++
80%
13 Other
20%

30 Day Summary

Mar 21 2024 — Apr 20 2024

12 Month Summary

Apr 20 2023 — Apr 20 2024
  • 331 Commits
    Up + 327 (8175%) from previous 12 months
  • 18 Contributors
    Up + 16 (800%) from previous 12 months

Ratings

Be the first to rate this project
Click to add your rating
  
Review this Project!