| OLD | NEW |
| 1 == 03 February 2012 == | 1 == 15 July 2011 == |
| 2 | 2 |
| 3 I've just released gperftools 2.0 | |
| 4 | |
| 5 The `google-perftools` project has been renamed to `gperftools`. I | |
| 6 (csilvers) am stepping down as maintainer, to be replaced by | |
| 7 David Chappelle. Welcome to the team, David! David has been an | |
| 8 an active contributor to perftools in the past -- in fact, he's the | |
| 9 only person other than me that already has commit status. I am | |
| 10 pleased to have him take over as maintainer. | |
| 11 | |
| 12 I have both renamed the project (the Google Code site renamed a few | |
| 13 weeks ago), and bumped the major version number up to 2, to reflect | |
| 14 the new community ownership of the project. Almost all the | |
| 15 [http://gperftools.googlecode.com/svn/tags/gperftools-2.0/ChangeLog changes] | |
| 16 are related to the renaming. | |
| 17 | |
| 18 The main functional change from google-perftools 1.10 is that | |
| 19 I've renamed the `google/` include-directory to be `gperftools/` | |
| 20 instead. New code should `#include <gperftools/tcmalloc.h>`/etc. | |
| 21 (Most users of perftools don't need any perftools-specific includes at | |
| 22 all, so this is mostly directed to "power users.") I've kept the old | |
| 23 names around as forwarding headers to the new, so `#include | |
| 24 <google/tcmalloc.h>` will continue to work. | |
| 25 | |
| 26 (The other functional change which I snuck in is getting rid of some | |
| 27 bash-isms in one of the unittest driver scripts, so it could run on | |
| 28 Solaris.) | |
| 29 | |
| 30 Note that some internal names still contain the text `google`, such as | |
| 31 the `google_malloc` internal linker section. I think that's a | |
| 32 trickier transition, and can happen in a future release (if at all). | |
| 33 | |
| 34 | |
| 35 === 31 January 2012 === | |
| 36 | |
| 37 I've just released perftools 1.10 | |
| 38 | |
| 39 There is an API-incompatible change: several of the methods in the | |
| 40 `MallocExtension` class have changed from taking a `void*` to taking a | |
| 41 `const void*`. You should not be affected by this API change | |
| 42 unless you've written your own custom malloc extension that derives | |
| 43 from `MallocExtension`, but since it is a user-visible change, I have | |
| 44 upped the `.so` version number for this release. | |
| 45 | |
| 46 This release focuses on improvements to linux-syscall-support.h, | |
| 47 including ARM and PPC fixups and general cleanups. I hope this will | |
| 48 magically fix an array of bugs people have been seeing. | |
| 49 | |
| 50 There is also exciting news on the porting front, with support for | |
| 51 patching win64 assembly contributed by IBM Canada! This is an | |
| 52 important step -- perhaps the most difficult -- to getting perftools | |
| 53 to work on 64-bit windows using the patching technique (it doesn't | |
| 54 affect the libc-modification technique). `premable_patcher_test` has | |
| 55 been added to help test these changes; it is meant to compile under | |
| 56 x86_64, and won't work under win32. | |
| 57 | |
| 58 For the full list of changes, including improved `HEAP_PROFILE_MMAP` | |
| 59 support, see the | |
| 60 [http://gperftools.googlecode.com/svn/tags/google-perftools-1.10/ChangeLog Chang
eLog]. | |
| 61 | |
| 62 | |
| 63 === 24 January 2011 === | |
| 64 | |
| 65 The `google-perftools` Google Code page has been renamed to | |
| 66 `gperftools`, in preparation for the project being renamed to | |
| 67 `gperftools`. In the coming weeks, I'll be stepping down as | |
| 68 maintainer for the perftools project, and as part of that Google is | |
| 69 relinquishing ownership of the project; it will now be entirely | |
| 70 community run. The name change reflects that shift. The 'g' in | |
| 71 'gperftools' stands for 'great'. :-) | |
| 72 | |
| 73 === 23 December 2011 === | |
| 74 | |
| 75 I've just released perftools 1.9.1 | |
| 76 | |
| 77 I missed including a file in the tarball, that is needed to compile on | |
| 78 ARM. If you are not compiling on ARM, or have successfully compiled | |
| 79 perftools 1.9, there is no need to upgrade. | |
| 80 | |
| 81 | |
| 82 === 22 December 2011 === | |
| 83 | |
| 84 I've just released perftools 1.9 | |
| 85 | |
| 86 This change has a slew of improvements, from better ARM and freebsd | |
| 87 support, to improved performance by moving some code outside of locks, | |
| 88 to better pprof reporting of code with overloaded functions. | |
| 89 | |
| 90 The full list of changes is in the | |
| 91 [http://google-perftools.googlecode.com/svn/tags/google-perftools-1.9/ChangeLog
ChangeLog]. | |
| 92 | |
| 93 | |
| 94 === 26 August 2011 === | |
| 95 | |
| 96 I've just released perftools 1.8.3 | |
| 97 | |
| 98 The star-crossed 1.8 series continues; in 1.8.1, I had accidentally | |
| 99 removed some code that was needed for FreeBSD. (Without this code | |
| 100 many apps would crash at startup.) This release re-adds that code. | |
| 101 If you are not on FreeBSD, or are using FreeBSD with perftools 1.8 or | |
| 102 earlier, there is no need to upgrade. | |
| 103 | |
| 104 === 11 August 2011 === | |
| 105 | |
| 106 I've just released perftools 1.8.2 | |
| 107 | |
| 108 I was incorrectly calculating the patch-level in the configuration | |
| 109 step, meaning the TC_VERSION_PATCH #define in tcmalloc.h was wrong. | |
| 110 Since the testing framework checks for this, it was failing. Now it | |
| 111 should work again. This time, I was careful to re-run my tests after | |
| 112 upping the version number. :-) | |
| 113 | |
| 114 If you don't care about the TC_VERSION_PATCH #define, there's no | |
| 115 reason to upgrae. | |
| 116 | |
| 117 === 26 July 2011 === | |
| 118 | |
| 119 I've just released perftools 1.8.1 | |
| 120 | |
| 121 I was missing an #include that caused the build to break under some | |
| 122 compilers, especially newer gcc's, that wanted it. This only affects | |
| 123 people who build from source, so only the .tar.gz file is updated from | |
| 124 perftools 1.8. If you didn't have any problems compiling perftools | |
| 125 1.8, there's no reason to upgrade. | |
| 126 | |
| 127 === 15 July 2011 === | |
| 128 | |
| 129 I've just released perftools 1.8 | 3 I've just released perftools 1.8 |
| 130 | 4 |
| 131 Of the many changes in this release, a good number pertain to porting. | 5 Of the many changes in this release, a good number pertain to porting. |
| 132 I've revamped OS X support to use the malloc-zone framework; it should | 6 I've revamped OS X support to use the malloc-zone framework; it should |
| 133 now Just Work to link in tcmalloc, without needing | 7 now Just Work to link in tcmalloc, without needing |
| 134 `DYLD_FORCE_FLAT_NAMESPACE` or the like. (This is a pretty major | 8 `DYLD_FORCE_FLAT_NAMESPACE` or the like. (This is a pretty major |
| 135 change, so please feel free to report feedback at | 9 change, so please feel free to report feedback at |
| 136 google-perftools@googlegroups.com.) 64-bit Windows support is also | 10 google-perftools@googlegroups.com.) 64-bit Windows support is also |
| 137 improved, as is ARM support, and the hooks are in place to improve | 11 improved, as is ARM support, and the hooks are in place to improve |
| 138 FreeBSD support as well. | 12 FreeBSD support as well. |
| 139 | 13 |
| 140 On the other hand, I'm seeing hanging tests on Cygwin. I see the same | 14 On the other hand, I'm seeing hanging tests on Cygwin. I see the same |
| 141 hanging even with (the old) perftools 1.7, so I'm guessing this is | 15 hanging even with (the old) perftools 1.7, so I'm guessing this is |
| 142 either a problem specific to my Cygwin installation, or nobody is | 16 either a problem specific to my Cygwin installation, or nobody is |
| 143 trying to use perftools under Cygwin. If you can reproduce the | 17 trying to use perftools under Cygwin. If you can reproduce the |
| 144 problem, and even better have a solution, you can report it at | 18 problem, and even better have a solution, you can report it at |
| 145 google-perftools@googlegroups.com. | 19 google-perftools@googlegroups.com. |
| 146 | 20 |
| 147 Internal changes include several performance and space-saving tweaks. | 21 Internal changes include several performance and space-saving tweaks. |
| 148 One is user-visible (but in "stealth mode", and otherwise | 22 One is user-visible (but in "stealth mode", and otherwise |
| 149 undocumented): you can compile with `-DTCMALLOC_SMALL_BUT_SLOW`. In | 23 undocumented): you can compile with `-DTCMALLOC_SMALL_BUT_SLOW`. In |
| 150 this mode, tcmalloc will use less memory overhead, at the cost of | 24 this mode, tcmalloc will use less memory overhead, at the cost of |
| 151 running (likely not noticeably) slower. | 25 running (likely not noticeably) slower. |
| 152 | 26 |
| 153 There are many other changes as well, too numerous to recount here, | 27 There are many other changes as well, too numerous to recount here, |
| 154 but present in the | 28 but present in the |
| 155 [http://google-perftools.googlecode.com/svn/tags/google-perftools-1.8/ChangeLog
ChangeLog]. | 29 [http://google-perftools.googlecode.com/svn/tags/perftools-1.8/ChangeLog ChangeL
og]. |
| 156 | 30 |
| 157 | 31 |
| 158 === 7 February 2011 === | 32 === 7 February 2011 === |
| 159 | 33 |
| 160 Thanks to endlessr..., who | 34 Thanks to endlessr..., who |
| 161 [http://code.google.com/p/google-perftools/issues/detail?id=307 identified] | 35 [http://code.google.com/p/google-perftools/issues/detail?id=307 identified] |
| 162 why some tests were failing under MSVC 10 in release mode. It does not look | 36 why some tests were failing under MSVC 10 in release mode. It does not look |
| 163 like these failures point toward any problem with tcmalloc itself; rather, the | 37 like these failures point toward any problem with tcmalloc itself; rather, the |
| 164 problem is with the test, which made some assumptions that broke under the | 38 problem is with the test, which made some assumptions that broke under the |
| 165 some aggressive optimizations used in MSVC 10. I'll fix the test, but in | 39 some aggressive optimizations used in MSVC 10. I'll fix the test, but in |
| 166 the meantime, feel free to use perftools even when compiled under MSVC | 40 the meantime, feel free to use perftools even when compiled under MSVC |
| 167 10. | 41 10. |
| 168 | 42 |
| 169 === 4 February 2011 === | 43 === 4 February 2011 === |
| 170 | 44 |
| 171 I've just released perftools 1.7 | 45 I've just released perftools 1.7 |
| 172 | 46 |
| 173 I apologize for the delay since the last release; so many great new | 47 I apologize for the delay since the last release; so many great new |
| 174 patches and bugfixes kept coming in (and are still coming in; I also | 48 patches and bugfixes kept coming in (and are still coming in; I also |
| 175 apologize to those folks who have to slip until the next release). I | 49 apologize to those folks who have to slip until the next release). I |
| 176 picked this arbitrary time to make a cut. | 50 picked this arbitrary time to make a cut. |
| 177 | 51 |
| 178 Among the many new features in this release is a multi-megabyte | 52 Among the many new features in this release is a multi-megabyte |
| 179 reduction in the amount of tcmalloc overhead uder x86_64, improved | 53 reduction in the amount of tcmalloc overhead uder x86_64, improved |
| 180 performance in the case of contention, and many many bugfixes, | 54 performance in the case of contention, and many many bugfixes, |
| 181 especially architecture-specific bugfixes. See the | 55 especially architecture-specific bugfixes. See the |
| 182 [http://google-perftools.googlecode.com/svn/tags/google-perftools-1.7/ChangeLog
ChangeLog] | 56 [http://google-perftools.googlecode.com/svn/tags/perftools-1.7/ChangeLog ChangeL
og] |
| 183 for full details. | 57 for full details. |
| 184 | 58 |
| 185 One architecture-specific change of note is added comments in the | 59 One architecture-specific change of note is added comments in the |
| 186 [http://google-perftools.googlecode.com/svn/tags/perftools-1.7/README README] | 60 [http://google-perftools.googlecode.com/svn/tags/perftools-1.7/README README] |
| 187 for using tcmalloc under OS X. I'm trying to get my head around the | 61 for using tcmalloc under OS X. I'm trying to get my head around the |
| 188 exact behavior of the OS X linker, and hope to have more improvements | 62 exact behavior of the OS X linker, and hope to have more improvements |
| 189 for the next release, but I hope these notes help folks who have been | 63 for the next release, but I hope these notes help folks who have been |
| 190 having trouble with tcmalloc on OS X. | 64 having trouble with tcmalloc on OS X. |
| 191 | 65 |
| 192 *Windows users*: I've heard reports that some unittests fail on | 66 *Windows users*: I've heard reports that some unittests fail on |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 329 has shown that profiles are unreliable in that case. The problem has | 203 has shown that profiles are unreliable in that case. The problem has |
| 330 existed since the first release of perftools. We expect to have a fix | 204 existed since the first release of perftools. We expect to have a fix |
| 331 for perftools 1.2. For more details, see | 205 for perftools 1.2. For more details, see |
| 332 [http://code.google.com/p/google-perftools/issues/detail?id=105 issue 105]. | 206 [http://code.google.com/p/google-perftools/issues/detail?id=105 issue 105]. |
| 333 | 207 |
| 334 Everyone who uses perftools 1.0 is encouraged to upgrade to perftools | 208 Everyone who uses perftools 1.0 is encouraged to upgrade to perftools |
| 335 1.1. If you see any problems with the new release, please file a bug | 209 1.1. If you see any problems with the new release, please file a bug |
| 336 report at http://code.google.com/p/google-perftools/issues/list. | 210 report at http://code.google.com/p/google-perftools/issues/list. |
| 337 | 211 |
| 338 Enjoy! | 212 Enjoy! |
| OLD | NEW |