OLD | NEW |
1 == 15 July 2011 == | 1 == 03 February 2012 == |
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 |
3 I've just released perftools 1.8 | 129 I've just released perftools 1.8 |
4 | 130 |
5 Of the many changes in this release, a good number pertain to porting. | 131 Of the many changes in this release, a good number pertain to porting. |
6 I've revamped OS X support to use the malloc-zone framework; it should | 132 I've revamped OS X support to use the malloc-zone framework; it should |
7 now Just Work to link in tcmalloc, without needing | 133 now Just Work to link in tcmalloc, without needing |
8 `DYLD_FORCE_FLAT_NAMESPACE` or the like. (This is a pretty major | 134 `DYLD_FORCE_FLAT_NAMESPACE` or the like. (This is a pretty major |
9 change, so please feel free to report feedback at | 135 change, so please feel free to report feedback at |
10 google-perftools@googlegroups.com.) 64-bit Windows support is also | 136 google-perftools@googlegroups.com.) 64-bit Windows support is also |
11 improved, as is ARM support, and the hooks are in place to improve | 137 improved, as is ARM support, and the hooks are in place to improve |
12 FreeBSD support as well. | 138 FreeBSD support as well. |
13 | 139 |
14 On the other hand, I'm seeing hanging tests on Cygwin. I see the same | 140 On the other hand, I'm seeing hanging tests on Cygwin. I see the same |
15 hanging even with (the old) perftools 1.7, so I'm guessing this is | 141 hanging even with (the old) perftools 1.7, so I'm guessing this is |
16 either a problem specific to my Cygwin installation, or nobody is | 142 either a problem specific to my Cygwin installation, or nobody is |
17 trying to use perftools under Cygwin. If you can reproduce the | 143 trying to use perftools under Cygwin. If you can reproduce the |
18 problem, and even better have a solution, you can report it at | 144 problem, and even better have a solution, you can report it at |
19 google-perftools@googlegroups.com. | 145 google-perftools@googlegroups.com. |
20 | 146 |
21 Internal changes include several performance and space-saving tweaks. | 147 Internal changes include several performance and space-saving tweaks. |
22 One is user-visible (but in "stealth mode", and otherwise | 148 One is user-visible (but in "stealth mode", and otherwise |
23 undocumented): you can compile with `-DTCMALLOC_SMALL_BUT_SLOW`. In | 149 undocumented): you can compile with `-DTCMALLOC_SMALL_BUT_SLOW`. In |
24 this mode, tcmalloc will use less memory overhead, at the cost of | 150 this mode, tcmalloc will use less memory overhead, at the cost of |
25 running (likely not noticeably) slower. | 151 running (likely not noticeably) slower. |
26 | 152 |
27 There are many other changes as well, too numerous to recount here, | 153 There are many other changes as well, too numerous to recount here, |
28 but present in the | 154 but present in the |
29 [http://google-perftools.googlecode.com/svn/tags/perftools-1.8/ChangeLog ChangeL
og]. | 155 [http://google-perftools.googlecode.com/svn/tags/google-perftools-1.8/ChangeLog
ChangeLog]. |
30 | 156 |
31 | 157 |
32 === 7 February 2011 === | 158 === 7 February 2011 === |
33 | 159 |
34 Thanks to endlessr..., who | 160 Thanks to endlessr..., who |
35 [http://code.google.com/p/google-perftools/issues/detail?id=307 identified] | 161 [http://code.google.com/p/google-perftools/issues/detail?id=307 identified] |
36 why some tests were failing under MSVC 10 in release mode. It does not look | 162 why some tests were failing under MSVC 10 in release mode. It does not look |
37 like these failures point toward any problem with tcmalloc itself; rather, the | 163 like these failures point toward any problem with tcmalloc itself; rather, the |
38 problem is with the test, which made some assumptions that broke under the | 164 problem is with the test, which made some assumptions that broke under the |
39 some aggressive optimizations used in MSVC 10. I'll fix the test, but in | 165 some aggressive optimizations used in MSVC 10. I'll fix the test, but in |
40 the meantime, feel free to use perftools even when compiled under MSVC | 166 the meantime, feel free to use perftools even when compiled under MSVC |
41 10. | 167 10. |
42 | 168 |
43 === 4 February 2011 === | 169 === 4 February 2011 === |
44 | 170 |
45 I've just released perftools 1.7 | 171 I've just released perftools 1.7 |
46 | 172 |
47 I apologize for the delay since the last release; so many great new | 173 I apologize for the delay since the last release; so many great new |
48 patches and bugfixes kept coming in (and are still coming in; I also | 174 patches and bugfixes kept coming in (and are still coming in; I also |
49 apologize to those folks who have to slip until the next release). I | 175 apologize to those folks who have to slip until the next release). I |
50 picked this arbitrary time to make a cut. | 176 picked this arbitrary time to make a cut. |
51 | 177 |
52 Among the many new features in this release is a multi-megabyte | 178 Among the many new features in this release is a multi-megabyte |
53 reduction in the amount of tcmalloc overhead uder x86_64, improved | 179 reduction in the amount of tcmalloc overhead uder x86_64, improved |
54 performance in the case of contention, and many many bugfixes, | 180 performance in the case of contention, and many many bugfixes, |
55 especially architecture-specific bugfixes. See the | 181 especially architecture-specific bugfixes. See the |
56 [http://google-perftools.googlecode.com/svn/tags/perftools-1.7/ChangeLog ChangeL
og] | 182 [http://google-perftools.googlecode.com/svn/tags/google-perftools-1.7/ChangeLog
ChangeLog] |
57 for full details. | 183 for full details. |
58 | 184 |
59 One architecture-specific change of note is added comments in the | 185 One architecture-specific change of note is added comments in the |
60 [http://google-perftools.googlecode.com/svn/tags/perftools-1.7/README README] | 186 [http://google-perftools.googlecode.com/svn/tags/perftools-1.7/README README] |
61 for using tcmalloc under OS X. I'm trying to get my head around the | 187 for using tcmalloc under OS X. I'm trying to get my head around the |
62 exact behavior of the OS X linker, and hope to have more improvements | 188 exact behavior of the OS X linker, and hope to have more improvements |
63 for the next release, but I hope these notes help folks who have been | 189 for the next release, but I hope these notes help folks who have been |
64 having trouble with tcmalloc on OS X. | 190 having trouble with tcmalloc on OS X. |
65 | 191 |
66 *Windows users*: I've heard reports that some unittests fail on | 192 *Windows users*: I've heard reports that some unittests fail on |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 has shown that profiles are unreliable in that case. The problem has | 329 has shown that profiles are unreliable in that case. The problem has |
204 existed since the first release of perftools. We expect to have a fix | 330 existed since the first release of perftools. We expect to have a fix |
205 for perftools 1.2. For more details, see | 331 for perftools 1.2. For more details, see |
206 [http://code.google.com/p/google-perftools/issues/detail?id=105 issue 105]. | 332 [http://code.google.com/p/google-perftools/issues/detail?id=105 issue 105]. |
207 | 333 |
208 Everyone who uses perftools 1.0 is encouraged to upgrade to perftools | 334 Everyone who uses perftools 1.0 is encouraged to upgrade to perftools |
209 1.1. If you see any problems with the new release, please file a bug | 335 1.1. If you see any problems with the new release, please file a bug |
210 report at http://code.google.com/p/google-perftools/issues/list. | 336 report at http://code.google.com/p/google-perftools/issues/list. |
211 | 337 |
212 Enjoy! | 338 Enjoy! |
OLD | NEW |