Changes 2.7:
bug in span stats printing introduced by new scalable page heap change was fixed.
Christoph Müllner has contributed couple warnings fixes and initial support for aarch64_ilp32 architecture.
Ben Dang contributed documentation fix for heap checker.
Fabrice Fontaine contributed fixed for linking benchmarks with --disable-static.
Holy Wu has added sized deallocation unit tests.
Holy Wu has enabled support of sized deallocation (c++14) on recent MSVC.
Holy Wu has fixed MSVC build in WIN32_OVERRIDE_ALLOCATORS mode.
Holy Wu has contributed cleanup of config.h used on windows.
Mao Huang has contributed couple simple tcmalloc changes from chromium code base. Making our tcmalloc forks a tiny bit closer.
issue 946 that caused compilation failures on some Linux clang installations has been fixed. Much thanks to github user htuch for helping to diagnose issue and proposing a fix.
Tulio Magno Quites Machado Filho has contributed build-time fix for PPC (for problem introduced in one of commits since RC).
gperftools 2.6.3:
Just two fixes were made in this release:
* a build fix for some recent XCode versions
* assertion failure on some windows builds introduced by 2.6.2 was fixed
gperftools 2.6.2 is out!
Most notable change is recently added support for C++17 over-aligned allocation operators contributed by Andrey Semashev. I've extended his implementation to have roughly same performance as malloc/new. This release also has native support for C11 aligned_alloc.
Rest is mostly bug fixes.
* issue 901: build issue on OSX introduced in last-time commit in 2.6
was fixed (contributed by Francis Ricci)
* tcmalloc_minimal now works on 32-bit ABI of mips64. This is issue
845. Much thanks to Adhemerval Zanella and github user mtone.
* Romain Geissler contributed build fix for -std=c++17. This is pull
request 897.
* As part of fixing issue 904, tcmalloc atfork handler is now
installed early. This should fix slight chance of hitting deadlocks
at fork in some cases.
* Kim Gräsman contributed documentation update for HEAPPROFILESIGNAL
environment variable
* KernelMaker contributed fix for population of min_object_size field
returned by MallocExtension::GetFreeListSizes
* commit 8c3dc52fcfe0 "issue-654: [pprof] handle split text segments"
was reverted. Some OSX users reported issues with this commit. Given
our pprof implementation is strongly deprecated it is best to drop
recently introduced features rather than breaking it badly.
Here are major changes since 2.4:
* we've moved to github!
* Bryan Chan has contributed s390x support
* stacktrace capturing via libgcc's _Unwind_Backtrace was implemented
(for architectures with missing or broken libunwind).
* "emergency malloc" was implemented. Which unbreaks recursive calls
to malloc/free from stacktrace capturing functions (such us glib'c
backtrace() or libunwind on arm). It is enabled by
--enable-emergency-malloc configure flag or by default on arm when
--enable-stacktrace-via-backtrace is given. It is another fix for a
number common issues people had on platforms with missing or broken
libunwind.
* C++14 sized-deallocation is now supported (on gcc 5 and recent
clangs). It is off by default and can be enabled at configure time
via --enable-sized-delete. On GNU/Linux it can also be enabled at
run-time by either TCMALLOC_ENABLE_SIZED_DELETE environment variable
or by defining tcmalloc_sized_delete_enabled function which should
return 1 to enable it.
* we've lowered default value of transfer batch size to 512. Previous
value (bumped up in 2.1) was too high and caused performance
regression for some users. 512 should still give us performance
boost for workloads that need higher transfer batch size while not
penalizing other workloads too much.
* Brian Silverman's patch finally stopped arming profiling timer
unless profiling is started.
* Andrew Morrow has contributed support for obtaining cache size of the
current thread and softer idling (for use in MongoDB).
* we've implemented few minor performance improvements, particularly
on malloc fast-path.
Issues found with existing distfiles:
distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
distfiles/fortran-utils-1.1.tar.gz
distfiles/ivykis-0.39.tar.gz
distfiles/enum-1.11.tar.gz
distfiles/pvs-3.2-libraries.tgz
distfiles/pvs-3.2-linux.tgz
distfiles/pvs-3.2-solaris.tgz
distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Changes from previous:
== 2.4 ==
+ enabled aggressive decommit option by default, significantly improve memory fragmentation
+ new ./configure flags for tcmalloc pagesize and tcmalloc allocation alignment.
+ Faster malloc/free, 5% on static library and about 10% on shared library. Mainly due to more efficient checking of malloc hooks.
+ Improved accuracy of stacktrace capturing in cpu profiler
== 2.3 ==
+ New experimental method for CPU profiling (only for Linux)
+ Most are fixes to pprof
+ Few other fixes, notably libunwind integration (selectable in configure step) and disabled on OSX & ppc64
== 2.2 ==
+ Support for mips/mips64/aarch64/ppc64-le
+ New method for capturing backtrace
+ More fixes
+ Fixes for Windows
+ Sources served by Google drive
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
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.