实例介绍
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.
【实例截图】
【核心代码】
4744302542876157539.gz
└── gperftools-2.0
├── aclocal.m4
├── AUTHORS
├── ChangeLog
├── compile
├── config.guess
├── config.sub
├── configure
├── configure.ac
├── COPYING
├── depcomp
├── doc
│ ├── cpuprofile-fileformat.html
│ ├── cpuprofile.html
│ ├── designstyle.css
│ ├── heap_checker.html
│ ├── heap-example1.png
│ ├── heapprofile.html
│ ├── index.html
│ ├── overview.dot
│ ├── overview.gif
│ ├── pageheap.dot
│ ├── pageheap.gif
│ ├── pprof.1
│ ├── pprof_remote_servers.html
│ ├── pprof-test-big.gif
│ ├── pprof-test.gif
│ ├── pprof-vsnprintf-big.gif
│ ├── pprof-vsnprintf.gif
│ ├── spanmap.dot
│ ├── spanmap.gif
│ ├── tcmalloc.html
│ ├── tcmalloc-opspercpusec.vs.threads.1024.bytes.png
│ ├── tcmalloc-opspercpusec.vs.threads.128.bytes.png
│ ├── tcmalloc-opspercpusec.vs.threads.131072.bytes.png
│ ├── tcmalloc-opspercpusec.vs.threads.16384.bytes.png
│ ├── tcmalloc-opspercpusec.vs.threads.2048.bytes.png
│ ├── tcmalloc-opspercpusec.vs.threads.256.bytes.png
│ ├── tcmalloc-opspercpusec.vs.threads.32768.bytes.png
│ ├── tcmalloc-opspercpusec.vs.threads.4096.bytes.png
│ ├── tcmalloc-opspercpusec.vs.threads.512.bytes.png
│ ├── tcmalloc-opspercpusec.vs.threads.64.bytes.png
│ ├── tcmalloc-opspercpusec.vs.threads.65536.bytes.png
│ ├── tcmalloc-opspercpusec.vs.threads.8192.bytes.png
│ ├── tcmalloc-opspersec.vs.size.12.threads.png
│ ├── tcmalloc-opspersec.vs.size.16.threads.png
│ ├── tcmalloc-opspersec.vs.size.1.threads.png
│ ├── tcmalloc-opspersec.vs.size.20.threads.png
│ ├── tcmalloc-opspersec.vs.size.2.threads.png
│ ├── tcmalloc-opspersec.vs.size.3.threads.png
│ ├── tcmalloc-opspersec.vs.size.4.threads.png
│ ├── tcmalloc-opspersec.vs.size.5.threads.png
│ ├── tcmalloc-opspersec.vs.size.8.threads.png
│ ├── threadheap.dot
│ ├── threadheap.gif
│ └── t-test1.times.txt
├── gperftools.sln
├── INSTALL
├── install-sh
├── libtool
├── ltmain.sh
├── m4
│ ├── ac_have_attribute.m4
│ ├── acx_nanosleep.m4
│ ├── acx_pthread.m4
│ ├── compiler_characteristics.m4
│ ├── install_prefix.m4
│ ├── libtool.m4
│ ├── lt~obsolete.m4
│ ├── ltoptions.m4
│ ├── ltsugar.m4
│ ├── ltversion.m4
│ ├── namespaces.m4
│ ├── pc_from_ucontext.m4
│ ├── program_invocation_name.m4
│ └── stl_namespace.m4
├── Makefile.am
├── Makefile.in
├── missing
├── mkinstalldirs
├── NEWS
├── packages
│ ├── deb
│ │ ├── changelog
│ │ ├── compat
│ │ ├── control
│ │ ├── copyright
│ │ ├── docs
│ │ ├── libgperftools0.dirs
│ │ ├── libgperftools0.install
│ │ ├── libgperftools0.manpages
│ │ ├── libgperftools-dev.dirs
│ │ ├── libgperftools-dev.install
│ │ ├── README
│ │ └── rules
│ ├── deb.sh
│ ├── rpm
│ │ └── rpm.spec
│ └── rpm.sh
├── README
├── README_windows.txt
├── src
│ ├── addressmap-inl.h
│ ├── base
│ │ ├── arm_instruction_set_select.h
│ │ ├── atomicops.h
│ │ ├── atomicops-internals-arm-generic.h
│ │ ├── atomicops-internals-arm-v6plus.h
│ │ ├── atomicops-internals-linuxppc.h
│ │ ├── atomicops-internals-macosx.h
│ │ ├── atomicops-internals-windows.h
│ │ ├── atomicops-internals-x86.cc
│ │ ├── atomicops-internals-x86.h
│ │ ├── basictypes.h
│ │ ├── commandlineflags.h
│ │ ├── cycleclock.h
│ │ ├── dynamic_annotations.c
│ │ ├── dynamic_annotations.h
│ │ ├── elfcore.h
│ │ ├── elf_mem_image.cc
│ │ ├── elf_mem_image.h
│ │ ├── googleinit.h
│ │ ├── linux_syscall_support.h
│ │ ├── linuxthreads.cc
│ │ ├── linuxthreads.h
│ │ ├── logging.cc
│ │ ├── logging.h
│ │ ├── low_level_alloc.cc
│ │ ├── low_level_alloc.h
│ │ ├── simple_mutex.h
│ │ ├── spinlock.cc
│ │ ├── spinlock.h
│ │ ├── spinlock_internal.cc
│ │ ├── spinlock_internal.h
│ │ ├── spinlock_linux-inl.h
│ │ ├── spinlock_posix-inl.h
│ │ ├── spinlock_win32-inl.h
│ │ ├── stl_allocator.h
│ │ ├── synchronization_profiling.h
│ │ ├── sysinfo.cc
│ │ ├── sysinfo.h
│ │ ├── thread_annotations.h
│ │ ├── thread_lister.c
│ │ ├── thread_lister.h
│ │ ├── vdso_support.cc
│ │ └── vdso_support.h
│ ├── central_freelist.cc
│ ├── central_freelist.h
│ ├── common.cc
│ ├── common.h
│ ├── config_for_unittests.h
│ ├── config.h.in
│ ├── debugallocation.cc
│ ├── getpc.h
│ │ ├── heap-checker.h
│ │ ├── heap-profiler.h
│ │ ├── malloc_extension_c.h
│ │ ├── malloc_extension.h
│ │ ├── malloc_hook_c.h
│ │ ├── malloc_hook.h
│ │ ├── profiler.h
│ │ ├── stacktrace.h
│ │ └── tcmalloc.h
│ ├── gperftools
│ │ ├── heap-checker.h
│ │ ├── heap-profiler.h
│ │ ├── malloc_extension_c.h
│ │ ├── malloc_extension.h
│ │ ├── malloc_hook_c.h
│ │ ├── malloc_hook.h
│ │ ├── profiler.h
│ │ ├── stacktrace.h
│ │ └── tcmalloc.h.in
│ ├── heap-checker-bcad.cc
│ ├── heap-checker.cc
│ ├── heap-profiler.cc
│ ├── heap-profile-table.cc
│ ├── heap-profile-table.h
│ ├── internal_logging.cc
│ ├── internal_logging.h
│ ├── libc_override_gcc_and_weak.h
│ ├── libc_override_glibc.h
│ ├── libc_override.h
│ ├── libc_override_osx.h
│ ├── libc_override_redefine.h
│ ├── linked_list.h
│ ├── malloc_extension.cc
│ ├── malloc_hook.cc
│ ├── malloc_hook-inl.h
│ ├── malloc_hook_mmap_freebsd.h
│ ├── malloc_hook_mmap_linux.h
│ ├── maybe_threads.cc
│ ├── maybe_threads.h
│ ├── memfs_malloc.cc
│ ├── memory_region_map.cc
│ ├── memory_region_map.h
│ ├── packed-cache-inl.h
│ ├── page_heap_allocator.h
│ ├── page_heap.cc
│ ├── page_heap.h
│ ├── pagemap.h
│ ├── pprof
│ ├── profiledata.cc
│ ├── profiledata.h
│ ├── profile-handler.cc
│ ├── profile-handler.h
│ ├── profiler.cc
│ ├── raw_printer.cc
│ ├── raw_printer.h
│ ├── sampler.cc
│ ├── sampler.h
│ ├── solaris
│ │ └── libstdc++.la
│ ├── span.cc
│ ├── span.h
│ ├── stacktrace_arm-inl.h
│ ├── stacktrace.cc
│ ├── stacktrace_config.h
│ ├── stacktrace_generic-inl.h
│ ├── stacktrace_libunwind-inl.h
│ ├── stacktrace_powerpc-inl.h
│ ├── stack_trace_table.cc
│ ├── stack_trace_table.h
│ ├── stacktrace_win32-inl.h
│ ├── stacktrace_x86-inl.h
│ ├── static_vars.cc
│ ├── static_vars.h
│ ├── symbolize.cc
│ ├── symbolize.h
│ ├── system-alloc.cc
│ ├── system-alloc.h
│ ├── tcmalloc.cc
│ ├── tcmalloc_guard.h
│ ├── tcmalloc.h
│ ├── tests
│ │ ├── addressmap_unittest.cc
│ │ ├── atomicops_unittest.cc
│ │ ├── current_allocated_bytes_test.cc
│ │ ├── debugallocation_test.cc
│ │ ├── debugallocation_test.sh
│ │ ├── frag_unittest.cc
│ │ ├── getpc_test.cc
│ │ ├── heap-checker-death_unittest.sh
│ │ ├── heap-checker_unittest.cc
│ │ ├── heap-checker_unittest.sh
│ │ ├── heap-profiler_unittest.cc
│ │ ├── heap-profiler_unittest.sh
│ │ ├── low_level_alloc_unittest.cc
│ │ ├── malloc_extension_c_test.c
│ │ ├── malloc_extension_test.cc
│ │ ├── malloc_hook_test.cc
│ │ ├── markidle_unittest.cc
│ │ ├── maybe_threads_unittest.sh
│ │ ├── memalign_unittest.cc
│ │ ├── packed-cache_test.cc
│ │ ├── page_heap_test.cc
│ │ ├── pagemap_unittest.cc
│ │ ├── profiledata_unittest.cc
│ │ ├── profile-handler_unittest.cc
│ │ ├── profiler_unittest.cc
│ │ ├── profiler_unittest.sh
│ │ ├── raw_printer_test.cc
│ │ ├── realloc_unittest.cc
│ │ ├── sampler_test.cc
│ │ ├── sampling_test.cc
│ │ ├── sampling_test.sh
│ │ ├── simple_compat_test.cc
│ │ ├── stack_trace_table_test.cc
│ │ ├── stacktrace_unittest.cc
│ │ ├── system-alloc_unittest.cc
│ │ ├── tcmalloc_large_unittest.cc
│ │ ├── tcmalloc_unittest.cc
│ │ ├── testutil.cc
│ │ ├── testutil.h
│ │ └── thread_dealloc_unittest.cc
│ ├── third_party
│ │ └── valgrind.h
│ ├── thread_cache.cc
│ ├── thread_cache.h
│ └── windows
│ ├── addr2line-pdb.c
│ ├── auto_testing_hook.h
│ ├── config.h
│ ├── get_mangled_names.cc
│ │ └── tcmalloc.h
│ ├── gperftools
│ │ ├── tcmalloc.h
│ │ └── tcmalloc.h.in
│ ├── ia32_modrm_map.cc
│ ├── ia32_opcode_map.cc
│ ├── mingw.h
│ ├── mini_disassembler.cc
│ ├── mini_disassembler.h
│ ├── mini_disassembler_types.h
│ ├── nm-pdb.c
│ ├── override_functions.cc
│ ├── patch_functions.cc
│ ├── port.cc
│ ├── port.h
│ ├── preamble_patcher.cc
│ ├── preamble_patcher.h
│ ├── preamble_patcher_test.cc
│ ├── preamble_patcher_with_stub.cc
│ └── shortproc.asm
├── TODO
└── vsprojects
├── addr2line-pdb
│ └── addr2line-pdb.vcproj
├── addressmap_unittest
│ └── addressmap_unittest.vcproj
├── current_allocated_bytes_test
│ └── current_allocated_bytes_test.vcproj
├── frag_unittest
│ └── frag_unittest.vcproj
├── libtcmalloc_minimal
│ └── libtcmalloc_minimal.vcproj
├── low_level_alloc_unittest
│ └── low_level_alloc_unittest.vcproj
├── malloc_extension_test
│ └── malloc_extension_test.vcproj
├── malloc_hook_test
│ └── malloc_hook_test.vcproj
├── markidle_unittest
│ └── markidle_unittest.vcproj
├── nm-pdb
│ └── nm-pdb.vcproj
├── packed-cache_test
│ └── packed-cache_test.vcproj
├── page_heap_test
│ └── page_heap_test.vcproj
├── pagemap_unittest
│ └── pagemap_unittest.vcproj
├── preamble_patcher_test
│ └── preamble_patcher_test.vcproj
├── realloc_unittest
│ └── realloc_unittest.vcproj
├── sampler_test
│ └── sampler_test.vcproj
├── stack_trace_table_test
│ └── stack_trace_table_test.vcproj
├── tcmalloc_minimal_large
│ └── tcmalloc_minimal_large_unittest.vcproj
├── tcmalloc_minimal_unittest
│ └── tcmalloc_minimal_unittest.vcproj
├── thread_dealloc_unittest
│ └── thread_dealloc_unittest.vcproj
└── tmu-static
└── tmu-static.vcproj
38 directories, 312 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论