mirror of
https://github.com/gperftools/gperftools
synced 2024-12-22 23:32:18 +00:00
97fdd4a4f9
* 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) git-svn-id: http://gperftools.googlecode.com/svn/trunk@48 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
48 lines
1.6 KiB
Plaintext
48 lines
1.6 KiB
Plaintext
HEAP PROFILER
|
|
|
|
1) Fix heap profiling under all STLs
|
|
* Find out how to force non-glibc STL libraries to call new() and
|
|
delete() for every allocation / deallocation.
|
|
* Make heap profiler ignore STL-internal allocations for those
|
|
libraries under which we cannot profile accurately, so we only
|
|
see object-level leaks.
|
|
2) Remove dependency on tcmalloc?
|
|
3) Port to non-linux O/Ses (right now code uses /proc for library info)
|
|
4) Port to non-x86 architectures (locking code in spinlock is x86-specific)
|
|
5) Port to C?
|
|
6) Figure out how to get setenv() to work properly before main() in
|
|
shared libaries, and get rid of the profile-naming hack once we
|
|
do. (See HeapProfiler::Init().)
|
|
|
|
|
|
HEAP CHECKER
|
|
|
|
1) Remove requirement that the heap-checker must be linked last into
|
|
an application (hard! -- it needs its global constructor to run
|
|
first)
|
|
|
|
TCMALLOC
|
|
|
|
1) Implement mallinfo/mallopt
|
|
2) Have tcmalloc work correctly when libpthread is not linked in
|
|
(currently working for glibc, could use other libc's too)
|
|
3) Return memory to the system when requirements drop
|
|
4) Explore coloring allocated objects to avoid cache conflicts
|
|
5) Explore biasing reclamation to larger addresses
|
|
6) Add contention stats to a synchronization.cc (can do spinlocks,
|
|
but threads? -- may have to provide our own thread implementation)
|
|
|
|
CPU PROFILER
|
|
|
|
1) Figure out how to get setenv() to work properly before main() in
|
|
shared libaries(), and get rid of the profile-naming hack once we
|
|
do. (See Profiler::GetUniquePathFromEnv().)
|
|
2) Resolve crashing problems on x86_64 (see README)
|
|
|
|
STACKTRACE
|
|
|
|
1) Remove dependency on linux/x86
|
|
|
|
---
|
|
11 March 2008
|