./devel/gperftools, Fast, multi-threaded malloc() and nifty performance analysis tools

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.16, Package name: gperftools-2.16, Maintainer: cheusov

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.


Required to run:
[lang/perl5]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 2349.538 KB

Version history: (Expand)


CVS history: (Expand)


   2024-12-26 18:17:43 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message:
gperftools: updated to 2.16

gperftools-2.16

This release doesn't have major fixes or big headline features, but it has quite \ 
a lot of internal modernizations and cleanups. By the number of commits, 2.16 is \ 
going to be our biggest release ever.

This release's main focus was making our code and building infrastructure \ 
simpler, more straightforward, more portable, and more modern.

Please note that the gperftools 2.16 release will be the last release with the \ 
heap leak checker included. The time has come to drop this feature entirely. All \ 
users should migrate to relevant gcc/clang sanitizers.

Here are the most notable changes:

we've upgraded our C++ standard to C++ 17. Some fraction of our code base was \ 
modernized.

We've integrated (vendored copy of) GoogleTest, and most tests now use it. \ 
GoogleTest has helped us eliminate some legacy code and reduce the number of \ 
tests that use shell scripts.

There are no more unnecessary wrappers around mutexes and threads for unit \ 
tests. We now use C++ standard mutexes and threads in our tests.

We've done the bulk of the work necessary to enable hidden visibility. The most \ 
significant change is that tests no longer reach into libtcmalloc's guts. We use \ 
a special TestingPortal interface instead. We now offer the \ 
--enable-hidden-visibility configure option, which does what it says. But please \ 
note that hidden visibility is off by default for now.

autotools build was significantly refactored, modernized and simplified.

The cmake build has also been radically simplified. The previous version \ 
attempted to duplicate the same complexity that we had in the autotools build \ 
and did not do it very well. More tests now pass under cmake. But please note \ 
that cmake support is still not entirely functional, and we're not yet able to \ 
promise anything about it.

Thread-local storage access and emergency malloc integration have been reworked. \ 
We now support emergency malloc even on systems with emutls and similarly \ 
"bad" TLS support. As a result, backtracing is now more reliable \ 
(e.g., on QNX).

OSX operator new/delete performance has been improved. OSX's malloc performance \ 
is badly compromised by its support of malloc zones, so we cannot help much (the \ 
same applies to much of our competition among memory allocators). But the C++ \ 
new/delete API doesn't have to integrate with this stuff, so we now directly \ 
replace those functions for a sizeable speedup. Note that OSX performance is \ 
still not on par with other "prime tier" OSes due to its lack of \ 
efficient TLS support.

Long deprecated google/ headers have been deleted (use, e.g., \ 
"gperftools/tcmalloc.h" instead)

All clang builds now use -Wthread-safety and actually check thread-safety \ 
declarations

Our code has stopped being incompatible with _TIME_BITS=64 on modern GNU Linux \ 
systems (relevant only for 32-bit systems)

OpenSolaris build has been verified and fixed when needed
   2023-10-06 18:53:49 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
gperftools: updated to 2.13

gperftools 2.13 is out!

This release includes a few minor fixes:

* Ivan Dlugos has fixed some issues with cmake and config.h defines.

* 32-bit builds no longer require 64-bit atomics (which we wrongly
  introduced in 2.11 and which broke builds on some 32-bit
  architectures).

* generic_fp backtracing method now uses robust address probing
  method. The previous approach had occasional false positives, which
  caused occasional rare crashes.

* In some cases, MSVC generated TrivialOnce machine code that
  deadlocked programs on startup. The issue is now fixed.
   2023-08-25 18:38:42 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message:
gperftools: updated to 2.12

gperftools-2.12

Brett T. Warden contributed one significant fix. After a change in the previous \ 
release, we installed broken pkg-config files. Brett noticed and fixed that. \ 
Huge thanks!

gperftools-2.11

Few minor fixes since rc couple weeks ago. Plus couple notable contributions:

Artem Polyakov has contributed auto-detection of several MPI systems w.r.t. \ 
filenames used by HEAPPROFILE and CPUPROFILE environment variables. Also, we now \ 
support HEAPPROFILE_USE_PID and CPUPROFILE_USE_PID environment variables that \ 
force profile filenames to have pid appended. Which will be useful for some \ 
programs that fork for parallelism.

Ken Raffenetti has extended MPI detection mentioned above with detection of \ 
MPICH system.
   2022-09-18 21:28:23 by Havard Eidnes | Files touched by this commit (2)
Log message:
devel/gperftools: add support for NetBSD/powerpc.
   2022-07-22 10:34:45 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
gperftools: updated to 2.10

gperftools-2.10

Here are notable changes:

Matt T. Proud contributed documentation fix to call Go programming language by \ 
it's true name instead of golang.
Robert Scott contributed debugallocator feature to use readable (PROT_READ) \ 
fence pages. This is activated by TCMALLOC_PAGE_FENCE_READABLE environment \ 
veriable.
User stdpain contributed fix for cmake detection of libunwind.
Natale Patriciello contributed fix for OSX Monterey support.
Volodymyr Nikolaichuk contributed support for returning memory back to OS by \ 
using mmap with MAP_FIXED and PROT_NONE. It is off by default and enabled by \ 
preprocessor define: FREE_MMAP_PROT_NONE. This should help OSes that don't \ 
support Linux-style madvise MADV_DONTNEED or BSD-style MADV_FREE.
Jingyun Hua has contributed basic support for LoongArch.
Github issue 1338 of failing to build on some recent musl versions has been fixed.
Github issue 1321 of failing to ship cmake bits with .tar.gz archive has been fixed.
   2022-06-28 13:38:00 by Thomas Klausner | Files touched by this commit (3952)
Log message:
*: recursive bump for perl 5.36
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles