Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 56882686c7ad11f4bd595dacb1f22fe7 > files > 2

hoard-3.7.1-1mdv2009.1.i586.rpm


	      The Hoard Multiprocessor Memory Allocator
			<http://www.hoard.org>

			 Version Information
			 -------------------

version 3.7.1:
	* Fixed a serious bug for Windows in thread reclamation.
	* Fixed a small memory leak in thread creation.
	* Initial port to Windows 64.

version 3.7:
	* Streamlined fast path for allocation, speeding 32 and 64-bit code.
	* Use pthread_* based thread-specific data for x86-64, where it's faster.

version 3.6.2:
	* Fixed build for Mac OS X (Darwin).
	* Fixed to support older versions of Sun compilers.
	* Added FreeBSD ("freebsd") as a target.

version 3.6.1:
	* Added x86-64 target for Linux/gcc.
	* Added support for posix_memalign (for Unix systems).
	* Added static library build option for Linux.

version 3.6:
	* Improved performance, especially from thread-specific heap allocation.
	* Revised algorithm for large objects to reduce mmap fragmentation.
	* Added support for Solaris x86 (32 and 64 bit).
	* Fixed a problem for 64-bit builds.
	* Removed support for Detours.
	* Restored to top-level status (moved heaplayers to a directory).
	* Changed thread-specific data for Windows to support use in DLLs.
	* Build now fully supports Mac OS X (Darwin).

version 3.5.1:
	* Eliminated a (rare) memory error.

version 3.5.0:
	* Resolved some cross-platform memory leaks, notably
        for Windows due to surprising VirtualFree API
	(which doesn't reclaim memory unless size argument is 0).

version 3.4.0:

        * Added support for X86-64, Apple OS-X,
	  and Microsoft's Visual Studio 2005.

	* Restored Detours version, but with thread-specific local heaps disabled.

	* Removed all dependencies on STL.

version 3.3.0:

        * Added thread-specific local heaps, which substantially
	  improve performance by eliminating most atomic operations.

version 3.2.3:

	* Bug fix for Unix platforms, now allowing calls to
	  pthread_create with a NULL attribute.

	* Added support for ARM architectures.

version 3.2.2:

	* Reduces memory consumption for large objects (Windows).

version 3.2.1:

	* Maintenance release: fixes a bug for 64-bit versions
	  and changes the Windows build (for winhoard) slightly.

version 3.2:

	* An improved Windows build (see NOTES.windows).
	* An algorithmic change (essentially a variant of thread-local
	  allocation buffers) that boosts performance by avoiding atomic
	  operations.

version 3.1:

	* Several performance optimizations.
	* A minor bug fix for non-Windows platforms.

version 3:

	* Switched over to Heap Layers-based implementation.
	* Added single-threaded optimization (if no threads spawned, no locks).

version 2.1.2:

	* Made the code 64-bit clean.
	* Fixed a bug in recycling free memory on uniprocessors.

version 2.1.1:

	* Added Debian distribution support.
	* Fixed a Linux compilation bug in a benchmark.
        * Added automake-produced Makefiles for all benchmarks.
	* Added pthread_atfork handlers to avoid deadlocks when
	using fork().

version 2.1.0:

	* Now ships as a DLL for Windows.
	* Reduced internal fragmentation for small objects.
	* A variety of performance improvements.
	* Patched to work on 64-bit Solaris.
	* Removed BeOS support.
	* Simplified user-level locking.
	* Incorporated Doug Lea's malloc as a faster backing store
	  than mmap(), for non-Windows execution.

version 2.0.6:

	* Fix to allow Hoard to work with MFC under Windows.

version 2.0.5:

	* Fix to work with the new Sun WorkShop compiler.

version 2.0.4:

	* Fix to allow Hoard to work with Debug builds under Windows.

version 2.0.3:

	* Added a fix for better fragmentation on uniprocessors,
	added a "winprojects" directory for easier building on Windows
	under Visual Studio, improved realloc performance, and fixed a bug
	for out-of-memory conditions.

version 2.0.2:

	* Fixed a memory leak for SGI.

version 2.0.1:

	* Fixed compilation on AIX with xlC (IBM).

version 2.0:

	* Added very aggressive superblock recycling. Now an empty
	superblock is immediately available for reuse for another size
	class. This can dramatically reduce fragmentation.

	* We now preferentially allocate from recently-touched
	superblocks to improve page locality.

	* Incorporated a protocol to guarantee swift superblock
	'acquisition' by free().

version 1.5.3: (not generally released)

	* Miscellaneous bug fixes.

version 1.5.2:

	* Fixed a problem on some Linux systems that caused
	many large allocations to fail.
	* Fixed a call to VirtualFree which didn't actually
	release memory back to the system.


version 1.5.1:

	* Changed initialization of the process heap to fix
	a problem with Visual C++.

version 1.5:

	* Large blocks (> 4K) are now immediately returned to
	the system when they are freed.

	* Made a number of improvements to the algorithm that ensure
        O(1) cost for malloc & free and guarantee low contention for
	free's. (These will be discussed in a paper currently in
	progress.) Also added a method that further reduces the number
	of system calls when allocating memory.

	* Added superblock recycling to reduce fragmentation.

	* Hoard now compiles with Sun's Workshop compilers (version 5.0)
	on SPARCs. (Thanks to Ganesan Rajagopal of Novell for the
	undocumented .il trick for inlining assembly.)

	* Ported to AIX (IBM, PowerPC-based).

version 1.4.2:

	* A bug fix -- corrects a subtle problem with memalign.
	Hoard now successfully passes Wolfram Gloger's
	malloc-test (included with the distribution).

version 1.4.1:

	* A few fixes for backward compatibility with Solaris 2.6.

version 1.4:

	* Doubled the speed of calls to free().
	* Further improved scalability, especially on Solaris.
	* Reduced memory consumption and improved performance on
	uniprocessors.
	* Changed the lock implementation for Windows from spin to
	spin-yield, as in the UNIX implementations (thanks to Paul
	Larson of Microsoft Research for pointing out how to do this).
	* Removed the shbench benchmark from the distribution, per
	request from MicroQuill, Inc.

version 1.3.3:

	* Changed some casts of pointers to unsigned longs
	to allow Hoard to work on 64-bit machines (read: SGI O2K).

version 1.3.2:

	* Minor modifications for the Windows NT port,
	along with workspace and project files for Visual C++
	(thanks to Arnd Bohm).

version 1.3.1:

	* Included a customized version of 'atexit' for Linux,
	since the newest version of libc (2.1.2) caused Hoard to
	deadlock (it called malloc internally).

version 1.3:

	* Ported to the BeOS (thanks to Trey Boudreau of Be).
	* Replaced the per-sizeclass locks with per-heap locks,
	since this has no impact on scalability and reduces Hoard's
	static footprint.

version 1.2:

	* Dramatically improved performance with fast user-level locks
 	for SPARC, x86, and the SGI.
	* Added sproc support (for the SGI).
	* Hoard can now be built under Visual C++ (thanks to John
	Hickin).

version 1.1:

	* Added autoconf and automake scripts to facilitate compilation
	and installation (including shared libraries).
	(thanks to Ganesan Rajagopal of Novell for submitting the scripts)

version 1.0.3:

	* Hoard now scales on OS's besides Linux and Solaris.
	(the thread ID hash function was pathological for other OS's)

version 1.0.2:

	* Ported to Windows NT.
	* Added in the benchmark suite (larson, linux-scalability, shbench).

version 1.0.1:

	* Fixed a build problem.

version 1.0:

	* Initial release.