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 |