source: proiecte/swift/trunk/lib/hoard-371/NEWS @ 176

Last change on this file since 176 was 176, checked in by (none), 14 years ago
  • imported repo from "guagal"
File size: 7.2 KB
Line 
1
2              The Hoard Multiprocessor Memory Allocator
3                        <http://www.hoard.org>
4
5                         Version Information
6                         -------------------
7
8version 3.7.1:
9        * Fixed a serious bug for Windows in thread reclamation.
10        * Fixed a small memory leak in thread creation.
11        * Initial port to Windows 64.
12
13version 3.7:
14        * Streamlined fast path for allocation, speeding 32 and 64-bit code.
15        * Use pthread_* based thread-specific data for x86-64, where it's faster.
16
17version 3.6.2:
18        * Fixed build for Mac OS X (Darwin).
19        * Fixed to support older versions of Sun compilers.
20        * Added FreeBSD ("freebsd") as a target.
21
22version 3.6.1:
23        * Added x86-64 target for Linux/gcc.
24        * Added support for posix_memalign (for Unix systems).
25        * Added static library build option for Linux.
26
27version 3.6:
28        * Improved performance, especially from thread-specific heap allocation.
29        * Revised algorithm for large objects to reduce mmap fragmentation.
30        * Added support for Solaris x86 (32 and 64 bit).
31        * Fixed a problem for 64-bit builds.
32        * Removed support for Detours.
33        * Restored to top-level status (moved heaplayers to a directory).
34        * Changed thread-specific data for Windows to support use in DLLs.
35        * Build now fully supports Mac OS X (Darwin).
36
37version 3.5.1:
38        * Eliminated a (rare) memory error.
39
40version 3.5.0:
41        * Resolved some cross-platform memory leaks, notably
42        for Windows due to surprising VirtualFree API
43        (which doesn't reclaim memory unless size argument is 0).
44
45version 3.4.0:
46
47        * Added support for X86-64, Apple OS-X,
48          and Microsoft's Visual Studio 2005.
49
50        * Restored Detours version, but with thread-specific local heaps disabled.
51
52        * Removed all dependencies on STL.
53
54version 3.3.0:
55
56        * Added thread-specific local heaps, which substantially
57          improve performance by eliminating most atomic operations.
58
59version 3.2.3:
60
61        * Bug fix for Unix platforms, now allowing calls to
62          pthread_create with a NULL attribute.
63
64        * Added support for ARM architectures.
65
66version 3.2.2:
67
68        * Reduces memory consumption for large objects (Windows).
69
70version 3.2.1:
71
72        * Maintenance release: fixes a bug for 64-bit versions
73          and changes the Windows build (for winhoard) slightly.
74
75version 3.2:
76
77        * An improved Windows build (see NOTES.windows).
78        * An algorithmic change (essentially a variant of thread-local
79          allocation buffers) that boosts performance by avoiding atomic
80          operations.
81
82version 3.1:
83
84        * Several performance optimizations.
85        * A minor bug fix for non-Windows platforms.
86
87version 3:
88
89        * Switched over to Heap Layers-based implementation.
90        * Added single-threaded optimization (if no threads spawned, no locks).
91
92version 2.1.2:
93
94        * Made the code 64-bit clean.
95        * Fixed a bug in recycling free memory on uniprocessors.
96
97version 2.1.1:
98
99        * Added Debian distribution support.
100        * Fixed a Linux compilation bug in a benchmark.
101        * Added automake-produced Makefiles for all benchmarks.
102        * Added pthread_atfork handlers to avoid deadlocks when
103        using fork().
104
105version 2.1.0:
106
107        * Now ships as a DLL for Windows.
108        * Reduced internal fragmentation for small objects.
109        * A variety of performance improvements.
110        * Patched to work on 64-bit Solaris.
111        * Removed BeOS support.
112        * Simplified user-level locking.
113        * Incorporated Doug Lea's malloc as a faster backing store
114          than mmap(), for non-Windows execution.
115
116version 2.0.6:
117
118        * Fix to allow Hoard to work with MFC under Windows.
119
120version 2.0.5:
121
122        * Fix to work with the new Sun WorkShop compiler.
123
124version 2.0.4:
125
126        * Fix to allow Hoard to work with Debug builds under Windows.
127
128version 2.0.3:
129
130        * Added a fix for better fragmentation on uniprocessors,
131        added a "winprojects" directory for easier building on Windows
132        under Visual Studio, improved realloc performance, and fixed a bug
133        for out-of-memory conditions.
134
135version 2.0.2:
136
137        * Fixed a memory leak for SGI.
138
139version 2.0.1:
140
141        * Fixed compilation on AIX with xlC (IBM).
142
143version 2.0:
144
145        * Added very aggressive superblock recycling. Now an empty
146        superblock is immediately available for reuse for another size
147        class. This can dramatically reduce fragmentation.
148
149        * We now preferentially allocate from recently-touched
150        superblocks to improve page locality.
151
152        * Incorporated a protocol to guarantee swift superblock
153        'acquisition' by free().
154
155version 1.5.3: (not generally released)
156
157        * Miscellaneous bug fixes.
158
159version 1.5.2:
160
161        * Fixed a problem on some Linux systems that caused
162        many large allocations to fail.
163        * Fixed a call to VirtualFree which didn't actually
164        release memory back to the system.
165
166
167version 1.5.1:
168
169        * Changed initialization of the process heap to fix
170        a problem with Visual C++.
171
172version 1.5:
173
174        * Large blocks (> 4K) are now immediately returned to
175        the system when they are freed.
176
177        * Made a number of improvements to the algorithm that ensure
178        O(1) cost for malloc & free and guarantee low contention for
179        free's. (These will be discussed in a paper currently in
180        progress.) Also added a method that further reduces the number
181        of system calls when allocating memory.
182
183        * Added superblock recycling to reduce fragmentation.
184
185        * Hoard now compiles with Sun's Workshop compilers (version 5.0)
186        on SPARCs. (Thanks to Ganesan Rajagopal of Novell for the
187        undocumented .il trick for inlining assembly.)
188
189        * Ported to AIX (IBM, PowerPC-based).
190
191version 1.4.2:
192
193        * A bug fix -- corrects a subtle problem with memalign.
194        Hoard now successfully passes Wolfram Gloger's
195        malloc-test (included with the distribution).
196
197version 1.4.1:
198
199        * A few fixes for backward compatibility with Solaris 2.6.
200
201version 1.4:
202
203        * Doubled the speed of calls to free().
204        * Further improved scalability, especially on Solaris.
205        * Reduced memory consumption and improved performance on
206        uniprocessors.
207        * Changed the lock implementation for Windows from spin to
208        spin-yield, as in the UNIX implementations (thanks to Paul
209        Larson of Microsoft Research for pointing out how to do this).
210        * Removed the shbench benchmark from the distribution, per
211        request from MicroQuill, Inc.
212
213version 1.3.3:
214
215        * Changed some casts of pointers to unsigned longs
216        to allow Hoard to work on 64-bit machines (read: SGI O2K).
217
218version 1.3.2:
219
220        * Minor modifications for the Windows NT port,
221        along with workspace and project files for Visual C++
222        (thanks to Arnd Bohm).
223
224version 1.3.1:
225
226        * Included a customized version of 'atexit' for Linux,
227        since the newest version of libc (2.1.2) caused Hoard to
228        deadlock (it called malloc internally).
229
230version 1.3:
231
232        * Ported to the BeOS (thanks to Trey Boudreau of Be).
233        * Replaced the per-sizeclass locks with per-heap locks,
234        since this has no impact on scalability and reduces Hoard's
235        static footprint.
236
237version 1.2:
238
239        * Dramatically improved performance with fast user-level locks
240        for SPARC, x86, and the SGI.
241        * Added sproc support (for the SGI).
242        * Hoard can now be built under Visual C++ (thanks to John
243        Hickin).
244
245version 1.1:
246
247        * Added autoconf and automake scripts to facilitate compilation
248        and installation (including shared libraries).
249        (thanks to Ganesan Rajagopal of Novell for submitting the scripts)
250
251version 1.0.3:
252
253        * Hoard now scales on OS's besides Linux and Solaris.
254        (the thread ID hash function was pathological for other OS's)
255
256version 1.0.2:
257
258        * Ported to Windows NT.
259        * Added in the benchmark suite (larson, linux-scalability, shbench).
260
261version 1.0.1:
262
263        * Fixed a build problem.
264
265version 1.0:
266
267        * Initial release.
268
Note: See TracBrowser for help on using the repository browser.