2.6rc
This commit is contained in:
parent
53f15325d9
commit
b48403a4b0
103
NEWS
103
NEWS
|
@ -1,3 +1,106 @@
|
||||||
|
== 14 May 2017 ==
|
||||||
|
|
||||||
|
gperftools 2.6rc is out!
|
||||||
|
|
||||||
|
Highlights of this release are performance work on malloc fast-path
|
||||||
|
and support for more modern visual studio runtimes, and deprecation of
|
||||||
|
bundled pprof. Another significant performance-affecting changes are
|
||||||
|
reverting central free list transfer batch size back to 32 and
|
||||||
|
disabling of aggressive decommit mode by default.
|
||||||
|
|
||||||
|
Note, while we still ship perl implementation of pprof, everyone is
|
||||||
|
strongly advised to use golang reimplementation of pprof from
|
||||||
|
https://github.com/google/pprof.
|
||||||
|
|
||||||
|
Here are notable changes in more details (and see ChangeLog for full
|
||||||
|
details):
|
||||||
|
|
||||||
|
* a bunch of performance tweaks to tcmalloc fast-path were
|
||||||
|
merged. This speeds up critical path of tcmalloc by few tens of
|
||||||
|
%. Well tuned and allocation-heavy programs should see substantial
|
||||||
|
performance boost (should apply to all modern elf platforms). This
|
||||||
|
is based on Google-internal tcmalloc changes for fast-path (with
|
||||||
|
obvious exception of lacking per-cpu mode, of course). Original
|
||||||
|
changes were made by Aliaksei Kandratsenka. And Andrew Hunter,
|
||||||
|
Dmitry Vyukov and Sanjay Ghemawat contributed with reviews and
|
||||||
|
discussions.
|
||||||
|
|
||||||
|
* Architectures with 48 bits address space (x86-64 and aarch64) now
|
||||||
|
use faster 2 level page map. This was ported from Google-internal
|
||||||
|
change by Sanjay Ghemawat.
|
||||||
|
|
||||||
|
* Default value of TCMALLOC_TRANSFER_NUM_OBJ was returned back to
|
||||||
|
32. Larger values have been found to hurt certain programs (but help
|
||||||
|
some other benchmarks). Value can still be tweaked at run time via
|
||||||
|
environment variable.
|
||||||
|
|
||||||
|
* tcmalloc aggressive decommit mode is now disabled by default
|
||||||
|
again. It was found to degrade performance of certain tensorflow
|
||||||
|
benchmarks. Users who prefer smaller heap over small performance win
|
||||||
|
can still set environment variable TCMALLOC_AGGRESSIVE_DECOMMIT=t.
|
||||||
|
|
||||||
|
* runtime switchable sized delete support has be fixed and re-enabled
|
||||||
|
(on GNU/Linux). Programs that use C++ 14 or later that use sized
|
||||||
|
delete can again be sped up by setting environment variable
|
||||||
|
TCMALLOC_ENABLE_SIZED_DELETE=t. Support for enabling sized
|
||||||
|
deallication support at compile-time is still present, of course.
|
||||||
|
|
||||||
|
* tcmalloc now explicitly avoids use of MADV_FREE on Linux, unless
|
||||||
|
TCMALLOC_USE_MADV_FREE is defined at compile time. This is because
|
||||||
|
performance impact of MADV_FREE is not well known. Original issue
|
||||||
|
#780 raised by Mathias Stearn.
|
||||||
|
|
||||||
|
* issue #786 with occasional deadlocks in stack trace capturing via
|
||||||
|
libunwind was fixed. It was originally reported as Ceph issue:
|
||||||
|
http://tracker.ceph.com/issues/13522
|
||||||
|
|
||||||
|
* ChangeLog is now automatically generated from git log. Old ChangeLog
|
||||||
|
is now ChangeLog.old.
|
||||||
|
|
||||||
|
* tcmalloc now provides implementation of nallocx. Function was
|
||||||
|
originally introduced by jemalloc and can be used to return real
|
||||||
|
allocation size given allocation request size. This is ported from
|
||||||
|
Google-internal tcmalloc change contributed by Dmitry Vyukov.
|
||||||
|
|
||||||
|
* issue #843 which made tcmalloc crash when used with erlang runtime
|
||||||
|
was fixed.
|
||||||
|
|
||||||
|
* issue #839 which caused tcmalloc's aggressive decommit mode to
|
||||||
|
degrade performance in some corner cases was fixed.
|
||||||
|
|
||||||
|
* Bryan Chan contributed support for 31-bit s390.
|
||||||
|
|
||||||
|
* Brian Silverman contributed compilation fix for 32-bit ARMs
|
||||||
|
|
||||||
|
* Issue #817 that was causing tcmalloc to fail on windows 10 and
|
||||||
|
later, as well as on recent msvc was fixed. We now patch _free_base
|
||||||
|
as well.
|
||||||
|
|
||||||
|
* a bunch of minor documentaion/typos fixes by: Mike Gaffney
|
||||||
|
<mike@uberu.com>, iivlev <iivlev@productengine.com>, savefromgoogle
|
||||||
|
<savefromgoogle@users.noreply.github.com>, John McDole
|
||||||
|
<jtmcdole@gmail.com>, zmertens <zmertens@asu.edu>, Kirill Müller
|
||||||
|
<krlmlr@mailbox.org>, Eugene <n.eugene536@gmail.com>, Ola Olsson
|
||||||
|
<ola1olsson@gmail.com>, Mostyn Bramley-Moore <mostynb@opera.com>
|
||||||
|
|
||||||
|
* Tulio Magno Quites Machado Filho has contributed removal of
|
||||||
|
deprecated glibc malloc hooks.
|
||||||
|
|
||||||
|
* Issue #827 that caused intercepting malloc on osx 10.12 to fail was
|
||||||
|
fixed, by copying fix made by Mike Hommey to jemalloc. Much thanks
|
||||||
|
to Koichi Shiraishi and David Ribeiro Alves for reporting it and
|
||||||
|
testing fix.
|
||||||
|
|
||||||
|
* Aman Gupta and Kenton Varda contributed minor fixes to pprof (but
|
||||||
|
note again that pprof is deprecated)
|
||||||
|
|
||||||
|
* Ryan Macnak contributed compilation fix for aarch64
|
||||||
|
|
||||||
|
* Francis Ricci has fixed unaligned memory access in debug allocator
|
||||||
|
|
||||||
|
* TCMALLOC_PAGE_FENCE_NEVER_RECLAIM now actually works thanks to
|
||||||
|
contribution by Andrew Morrow.
|
||||||
|
|
||||||
== 12 Mar 2016 ==
|
== 12 Mar 2016 ==
|
||||||
|
|
||||||
gperftools 2.5 is out!
|
gperftools 2.5 is out!
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
# make sure we're interpreted by some minimal autoconf
|
# make sure we're interpreted by some minimal autoconf
|
||||||
AC_PREREQ([2.59])
|
AC_PREREQ([2.59])
|
||||||
|
|
||||||
AC_INIT([gperftools],[2.5],[gperftools@googlegroups.com])
|
AC_INIT([gperftools],[2.5.90],[gperftools@googlegroups.com])
|
||||||
# Update this value for every release! (A:B:C will map to foo.so.(A-C).C.B)
|
# Update this value for every release! (A:B:C will map to foo.so.(A-C).C.B)
|
||||||
# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
|
# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
|
||||||
TCMALLOC_SO_VERSION=7:0:3
|
TCMALLOC_SO_VERSION=8:0:4
|
||||||
PROFILER_SO_VERSION=4:8:4
|
PROFILER_SO_VERSION=4:9:4
|
||||||
|
|
||||||
AC_SUBST(TCMALLOC_SO_VERSION)
|
AC_SUBST(TCMALLOC_SO_VERSION)
|
||||||
AC_SUBST(PROFILER_SO_VERSION)
|
AC_SUBST(PROFILER_SO_VERSION)
|
||||||
|
|
|
@ -236,7 +236,7 @@
|
||||||
#define PACKAGE_NAME "gperftools"
|
#define PACKAGE_NAME "gperftools"
|
||||||
|
|
||||||
/* Define to the full name and version of this package. */
|
/* Define to the full name and version of this package. */
|
||||||
#define PACKAGE_STRING "gperftools 2.5"
|
#define PACKAGE_STRING "gperftools 2.5.90"
|
||||||
|
|
||||||
/* Define to the one symbol short name of this package. */
|
/* Define to the one symbol short name of this package. */
|
||||||
#define PACKAGE_TARNAME "gperftools"
|
#define PACKAGE_TARNAME "gperftools"
|
||||||
|
@ -245,7 +245,7 @@
|
||||||
#undef PACKAGE_URL
|
#undef PACKAGE_URL
|
||||||
|
|
||||||
/* Define to the version of this package. */
|
/* Define to the version of this package. */
|
||||||
#define PACKAGE_VERSION "2.5"
|
#define PACKAGE_VERSION "2.5.90"
|
||||||
|
|
||||||
/* How to access the PC from a struct ucontext */
|
/* How to access the PC from a struct ucontext */
|
||||||
#undef PC_FROM_UCONTEXT
|
#undef PC_FROM_UCONTEXT
|
||||||
|
|
|
@ -41,8 +41,8 @@
|
||||||
/* Define the version number so folks can check against it */
|
/* Define the version number so folks can check against it */
|
||||||
#define TC_VERSION_MAJOR 2
|
#define TC_VERSION_MAJOR 2
|
||||||
#define TC_VERSION_MINOR 5
|
#define TC_VERSION_MINOR 5
|
||||||
#define TC_VERSION_PATCH ""
|
#define TC_VERSION_PATCH ".90"
|
||||||
#define TC_VERSION_STRING "gperftools 2.5"
|
#define TC_VERSION_STRING "gperftools 2.5.90"
|
||||||
|
|
||||||
#ifndef PERFTOOLS_THROW
|
#ifndef PERFTOOLS_THROW
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue