mirror of
https://github.com/gperftools/gperftools
synced 2024-12-20 14:30:09 +00:00
6fa2a2574c
* google-perftools: version 1.0rc1 release * Replace API for selectively disabling heap-checker in code (sanjay) * Add a pre-mmap hook (daven, adlr) * Add MallocExtension interface to set memory-releasing rate (fikes) * Augment pprof to allow any string ending in /pprof/profile (csilvers) * PORTING: Rewrite -- and fix -- malloc patching for windows (dvitek) * PORTING: Add nm-pdb and addr2line-pdb for use by pprof (dvitek) * PORTING: Improve cygwin and mingw support (jperkins, csilvers) * PORTING: Fix pprof for mac os x, other pprof improvements (csilvers) * PORTING: Fix some PPC bugs in our locking code (anton.blanchard) * A new unittest, smapling_test, to verify tcmalloc-profiles (csilvers) * Turn off TLS for gcc < 4.1.2, due to a TLS + -fPIC bug (csilvers) * Prefer __builtin_frame_address to assembly for stacktraces (nlewycky) * Separate tcmalloc.cc out into multiple files -- finally! (kash) * Make our locking code work with -fPIC on 32-bit x86 (aruns) * Fix an initialization-ordering bug for tcmalloc/profiling (csilvers) * Use "initial exec" model of TLS to speed up tcmalloc (csilvers) * Enforce 16-byte alignment for tcmalloc, for SSE (sanjay) git-svn-id: http://gperftools.googlecode.com/svn/trunk@60 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
295 lines
14 KiB
Plaintext
295 lines
14 KiB
Plaintext
Thu Dec 11 16:01:32 2008 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 1.0rc1 release
|
|
* Replace API for selectively disabling heap-checker in code (sanjay)
|
|
* Add a pre-mmap hook (daven, adlr)
|
|
* Add MallocExtension interface to set memory-releasing rate (fikes)
|
|
* Augment pprof to allow any string ending in /pprof/profile (csilvers)
|
|
* PORTING: Rewrite -- and fix -- malloc patching for windows (dvitek)
|
|
* PORTING: Add nm-pdb and addr2line-pdb for use by pprof (dvitek)
|
|
* PORTING: Improve cygwin and mingw support (jperkins, csilvers)
|
|
* PORTING: Fix pprof for mac os x, other pprof improvements (csilvers)
|
|
* PORTING: Fix some PPC bugs in our locking code (anton.blanchard)
|
|
* A new unittest, smapling_test, to verify tcmalloc-profiles (csilvers)
|
|
* Turn off TLS for gcc < 4.1.2, due to a TLS + -fPIC bug (csilvers)
|
|
* Prefer __builtin_frame_address to assembly for stacktraces (nlewycky)
|
|
* Separate tcmalloc.cc out into multiple files -- finally! (kash)
|
|
* Make our locking code work with -fPIC on 32-bit x86 (aruns)
|
|
* Fix an initialization-ordering bug for tcmalloc/profiling (csilvers)
|
|
* Use "initial exec" model of TLS to speed up tcmalloc (csilvers)
|
|
* Enforce 16-byte alignment for tcmalloc, for SSE (sanjay)
|
|
|
|
Tue Sep 23 08:56:31 2008 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.99.2 release
|
|
* COMPILE FIX: add #include needed for FreeBSD and OS X (csilvers)
|
|
|
|
Sat Sep 20 09:37:18 2008 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.99.1 release
|
|
* BUG FIX: look for nm, etc in /usr/bin, not /usr/crosstool (csilvers)
|
|
|
|
Thu Sep 18 16:00:27 2008 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.99 release
|
|
* Add IsHeapProfileRunning (csilvers)
|
|
* Add C shims for some of the C++ header files (csilvers)
|
|
* Fix heap profile file clean-up logic (maxim)
|
|
* Rename linuxthreads.c to .cc for better compiler support (csilvers)
|
|
* Add source info to disassembly in pprof (sanjay)
|
|
* Use open instead of fopen to avoid memory alloc (csilvers)
|
|
* Disable malloc extensions when running under valgrind (kcc)
|
|
* BUG FIX: Fix out-of-bound error by reordering a check (larryz)
|
|
* Add Options struct to ProfileData (cgd)
|
|
* Correct PC-handling of --base in pprof (csilvers)
|
|
* Handle 1 function occurring twice in an image (sanjay)
|
|
* Improve stack-data cleaning (maxim)
|
|
* Use 'struct Foo' to make header C compatible (csilvers)
|
|
* Add 'total' line to pprof --text (csilvers)
|
|
* Pre-allocate buffer for heap-profiler to avoid OOM errors (csilvers)
|
|
* Allow a few more env-settings to control tcmalloc (csilvers)
|
|
* Document some of the issues involving thread-local storage (csilvers)
|
|
* BUG FIX: Define strtoll and friends for windows (csilvers)
|
|
|
|
Mon Jun 9 16:47:03 2008 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.98 release
|
|
* Add ProfilerStartWithOptions() (cgd)
|
|
* Change tcmalloc_minimal to not do any stack-tracing at all (csilvers)
|
|
* Prefer mmap to sbrk for 64-buit debug mode (sanjay)
|
|
* Fix accounting for some tcmalloc stats (sanjay)
|
|
* Use setrlimit() to keep unittests from killing the machine (odo)
|
|
* Fix a bug when sbrk-ing near address 4G (csilvers)
|
|
* Make MallocHook thread-safe (jyasskin)
|
|
* Fix windows build for MemoryBarrier (jyasskin)
|
|
* Fix CPU-profiler docs to mention correct libs (csilvers)
|
|
* Fix for GetHeapProfile() when heap-profiling is off (maxim)
|
|
* Avoid realloc resizing ping-pongs using hysteresis (csilvers)
|
|
* Add --callgrind output support to pprof (klimek)
|
|
* Fix profiler.h and heap-profiler.h to be C-compatible (csilvers)
|
|
* Break malloc_hook.h into two parts to reduce dependencies (csilvers)
|
|
* Better handle systems that don't implement mmap (csilvers)
|
|
* PORTING: disable system_alloc_unittest for msvc (csilvers)
|
|
* PORTING: Makefile tweaks to build better on cygwin (csilvers)
|
|
|
|
Mon Apr 21 15:20:52 2008 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.97 release
|
|
* Refactor GetHeapProfile to avoid using malloc (maxim)
|
|
* Fix heap-checker and heap-profiler hook interactions (maxim)
|
|
* Fix a data race in MemoryRegionMap::Lock (jyasskin)
|
|
* Improve thread-safety of leak checker (maxim)
|
|
* Fix mmap profile to no longer deadlock (maxim)
|
|
* Fix rpm to have devel package depend on non-devel (csilvers)
|
|
* PORTING: Fix clock-speed detection for Mac OS X (csilvers)
|
|
|
|
Tue Mar 18 14:30:44 2008 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.96 release
|
|
* major atomicops rewrite; fixed atomic ops code for linux/ppc (vchen)
|
|
* nix the stacktrace library; now build structure is simpler (csilvers)
|
|
* Speed up heap-checker, and reduce extraneous logging (maxim)
|
|
* Improve itimer code for NPTL case (cgd)
|
|
* Add source code annotations for use by valgrind, etc (kcc)
|
|
* PORTING: Fix high resolution timers for Mac OS X (adlr)
|
|
|
|
Tue Feb 19 12:01:31 2008 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.95.1 release (bugfix release)
|
|
* x86_64 compile-fix: nix pread64 and pwrite64 (csilvers)
|
|
* more heap-checker debug logging (maxim)
|
|
* minor improvement to x86_64 CycleClock (gpike)
|
|
|
|
Tue Feb 12 12:28:32 2008 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.95 release
|
|
* Better -- not perfect -- support for linux-ppc (csilvers)
|
|
* Fix race condition in libunwind stacktrace (aruns)
|
|
* Speed up x86 spinlock locking (m3b)
|
|
* Improve heap-checker performance (maxim)
|
|
* Heap checker traverses more ptrs inside heap-alloced objects (maxim)
|
|
* Remove deprecated ProfilerThreadState function (cgd)
|
|
* Update libunwind documentation for statically linked binaries (aruns)
|
|
|
|
Mon Dec 3 23:51:54 2007 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.94.1 release (bugfix release)
|
|
* Fix missing #includes for x86_64 compile using libunwind (csilvers)
|
|
|
|
Thu Nov 29 07:59:43 2007 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.94 release
|
|
* PORTING: MinGW/Msys support -- runs same code as MSVC does (csilvers)
|
|
* PORTING: Add NumCPUs support for Mac OS X (csilvers)
|
|
* Work around a sscanf bug in glibc(?) (waldemar)
|
|
* Fix Windows MSVC bug triggered by thread deletion (csilvers)
|
|
* Fix bug that triggers in MSVC /O2: missing volatile (gpike)
|
|
* March-of-time support: quiet warnings/errors for gcc 4.2, OS X 10.5
|
|
* Modify pprof so it works without nm: useful for windows (csilvers)
|
|
* pprof: Support filtering for CPU profiles (cgd)
|
|
* Bugfix: have realloc report to hooks in all situations (maxim)
|
|
* Speed improvement: replace slow memcpy with std::copy (soren)
|
|
* Speed: better iterator efficiency in RecordRegionRemoval (soren)
|
|
* Speed: minor speed improvements via better bitfield alignment (gpike)
|
|
* Documentation: add documentation of binary profile output (cgd)
|
|
|
|
Fri Aug 17 12:32:56 2007 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.93 release
|
|
* PORTING: everything compiles on Solaris, OS X, FreeBSD (see INSTALL)
|
|
* PORTING: cpu-profiler works on most platforms (much better GetPC())
|
|
* PORTING: heap-profiler works on most platforms
|
|
* PORTING: improved windows support, including release builds
|
|
* No longer build or run ptmalloc tests by default
|
|
* Add support for using memfs filesystem to allocate memory in linux
|
|
* WINDOWS: give debug library and release library different names
|
|
|
|
Tue Jul 17 22:26:27 2007 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.92 release
|
|
* PERFORMANCE: use a packed cache to speed up tcmalloc
|
|
* PORTING: preliminary windows support! (see README.windows)
|
|
* PORTING: better support for solaris, OS X, FreeBSD (see INSTALL)
|
|
* Envvar support for running the heap-checker under gdb
|
|
* Add weak declarations to maybe_threads to fix no-pthreads compile bugs
|
|
* Some 64bit fixes, especially with pprof
|
|
* Better heap-checker support for some low-level allocations
|
|
* Fix bug where heap-profiles would sometimes get truncated
|
|
* New documentation about how to handle common heap leak situations
|
|
* Use computed includes for hash_map/set: easier config
|
|
* Added all used .m4 templates to the distribution
|
|
|
|
Wed Apr 18 16:43:55 2007 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.91 release
|
|
* Brown-paper-bag bugfix: compilation error on some x86-64 machines
|
|
|
|
Fri Apr 13 14:50:51 2007 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.90 release
|
|
* (As the version-number jump hints, this is a major new release:
|
|
almost every piece of functionality was rewritten. I can't do
|
|
justice to all the changes, but will concentrate on highlights.)
|
|
*** USER-VISIBLE CHANGES:
|
|
* Ability to "release" unused memory added to tcmalloc
|
|
* Exposed more tweaking knobs via environment variables (see docs)
|
|
* pprof tries harder to map addresses to functions
|
|
* tcmalloc_minimal compiles and runs on FreeBSD 6.0 and Solaris 10
|
|
*** INTERNAL CHANGES:
|
|
* Much better 64-bit support
|
|
* Better multiple-processor support (e.g. multicore contention tweaks)
|
|
* Support for recent kernel ABI changes (e.g. new arg to mremap)
|
|
* Addition of spinlocks to tcmalloc to reduce contention cost
|
|
* Speed up tcmalloc by using __thread on systems that support TLS
|
|
* Total redesign of heap-checker to improve liveness checking
|
|
* More portable stack-frame analysis -- no more hard-coded constants!
|
|
* Disentangled heap-profiler code and heap-checker code
|
|
* Several new unittests to test, e.g., thread-contention costs
|
|
* Lots of small (but important!) bug fixes: e.g., fixing GetPC on amd64
|
|
*** KNOWN PROBLEMS:
|
|
* CPU-profiling may crash on x86_64 (64-bit) systems. See the README
|
|
* Profiling/heap-checking may deadlock on x86_64 systems. See README
|
|
|
|
Wed Jun 14 15:11:14 2006 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.8 release
|
|
* Experimental support for remote profiling added to pprof (many)
|
|
* Fixed race condition in ProfileData::FlushTable (etune)
|
|
* Better support for weird /proc maps (maxim, mec)
|
|
* Fix heap-checker interaction with gdb (markus)
|
|
* Better 64-bit support in pprof (aruns)
|
|
* Reduce scavenging cost in tcmalloc by capping NumMoveSize (sanjay)
|
|
* Cast syscall(SYS_mmap); works on more 64-bit systems now (menage)
|
|
* Document the text output of pprof! (csilvers)
|
|
* Better compiler support for no-THREADS and for old compilers (csilvers)
|
|
* Make libunwind the default stack unwinder for x86-64 (aruns)
|
|
* Somehow the COPYING file got erased. Regenerate it (csilvers)
|
|
|
|
Thu Apr 13 20:59:09 2006 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.7 release
|
|
* Major rewrite of thread introspection for new kernels (markus)
|
|
* Major rewrite of heap-checker to use new thread tools (maxim)
|
|
* Add proper support for following data in thread registers (maxim)
|
|
* Syscall support for older kernels, including _syscall6 (markus)
|
|
* Support PIC mode (markus, mbland, iant)
|
|
* Better support for running in non-threaded contexts (csilvers)
|
|
|
|
Fri Jan 27 14:04:27 2006 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.6 release
|
|
* More sophisticated stacktrace usage, possibly using libunwind (aruns)
|
|
* Update pprof to handle 64-bit profiles (dehnert)
|
|
* Fix GetStackTrace to correctly return top stackframe (sanjay)
|
|
* Add ANSI compliance for new and new[], including new_handler (jkearney)
|
|
* More accuracy by reading ELF files directly rather than objdump (mec)
|
|
* Add readline support for pprof (addi)
|
|
* Add #includes for PPC (csilvers)
|
|
* New PC-detection routine for ibook powerpc (asbestoshead)
|
|
* Vastly improved tcmalloc unittest (csilvers)
|
|
* Move documentation from /usr/doc to /usr/share/doc
|
|
|
|
Mon Nov 14 17:28:59 2005 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.5 release
|
|
* Add va_start/va_end calls around vsnprintf() (csilvers)
|
|
* Write our own __syscall_return(), since it's not defined
|
|
consistently on all 64-bit linux distros (markus)
|
|
|
|
Wed Oct 26 15:19:16 2005 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.4 release
|
|
* Decrease fragmentation in tcmalloc (lefevere)
|
|
* Support for ARM in some of the thread-specific code (markus)
|
|
* Turn off heap-checker for statically-linked binaries, which
|
|
cause error leak reports now (etune)
|
|
* Many pprof improvements, including a command-line interface (jeff)
|
|
* CPU profiling now automatically affects all threads in linux 2.6.
|
|
(Kernel bugs break CPU profiling and threads in linux 2.4 a bit.)
|
|
ProfilerEnable() and ProfilerDisable() are deprecated. (sanjay)
|
|
* tcmalloc now correctly intercepts memalign (m3b, maxim)
|
|
* Syntax fix: added missing va_end()s. Helps non-gcc compiling (etune)
|
|
* Fixed a few coredumper bugs: race condition after PTRACE_DETACH,
|
|
ignore non-aligned stackframe pointers (markus, menage)
|
|
* 64-bit cleanup, especially for spinlock code (etune) and mmap (sanjay)
|
|
* Better support for finding threads in linux (markus)
|
|
* tcmalloc now tracks those stack traces that allocate memory (sanjay)
|
|
* Work around a weird setspecific problem (sanjay)
|
|
* Fix tcmalloc overflow problems when an alloc is close to 2G/4G (sanjay)
|
|
|
|
Fri Jun 24 18:02:26 2005 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.3 release
|
|
* Add missing errno include for one of the unittests (csilvers)
|
|
* Reduce tcmalloc startup memory from 5M to 256K (sanjay)
|
|
* Add support for mallopt() and mallinfo (sanjay)
|
|
* Improve stacktrace's performance on some 64-bit systems (etune)
|
|
* Improve the stacktrace unittest (etune)
|
|
|
|
Tue May 31 08:14:38 2005 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: version 0.2 release
|
|
* Use mmap2() instead of mmap(), to map more memory (menage)
|
|
* Do correct pthread-local checking in heap-checker! (maxim)
|
|
* Avoid overflow on 64-bit machines in pprof (sanjay)
|
|
* Add a few more GetPC() functions, including for AMD (csilvers)
|
|
* Better method for overriding pthread functions (menage)
|
|
* (Hacky) fix to avoid overwriting profile files after fork() (csilvers)
|
|
* Crashing bugfix involving dumping heaps on small-stack threads (tudor)
|
|
* Allow library versions with letters at the end (csilvers)
|
|
* Config fixes for systems that don't define PATH_MAX (csilvers)
|
|
* Confix fixes so we no longer need config.h after install (csilvers)
|
|
* Fix to pprof to correctly read very big cpu profiles (csilvers)
|
|
* Fix to pprof to deal with new commandline flags in modern gv's
|
|
* Better error reporting when we can't access /proc/maps (etune)
|
|
* Get rid of the libc-preallocate code (which could crash on some
|
|
systems); no longer needed with local-threads fix (csilvers)
|
|
|
|
Tue Feb 8 09:57:17 2005 Google Inc. <opensource@google.com>
|
|
|
|
* google-perftools: initial release:
|
|
The google-perftools package contains some utilities to improve
|
|
and analyze the performance of C++ programs. This includes an
|
|
optimized thread-caching malloc() and cpu and heap profiling
|
|
utilities.
|