Tags: thomasmoelhave/tpie
Tags
TPIE 1.1 release New features in TPIE 1.1: The pipelining framework makes it easier to implement efficient streaming algorithms. For more information about the pipelining framework, see doc/pipelining.dox, or read the documentation on the TPIE homepage. The serialization framework provides streaming primitives for working with item streams where items vary in size. A particular practical use is for streams of polygons or polygonal line segments. We use the term `serialization stream', because it requires that items are (un)serializable (rather than trivially copyable, which is the requirement in file_stream). If you have previously run off the TPIE master branch, notice that we have changed the pipelining API recently to be more internally consistent. Other changes since TPIE 1.0: To get the number of workers used by the TPIE job framework, use tpie::default_worker_count(). (65c1de4) We now support Boost filesystem version 3 (34ac4be). The array implementation has changed, removing segmented_array which nobody used anyway. This makes the array implementation much simpler and less error-prone. The TPIE array now supports custom allocators, and it has specialized std::copy so that an efficient memcpy implementation (or similar) may be used automatically. (fad27fe and 2f79196) The memory manager now has switched from a protected integer to an atomic primitive to keep track of used memory, speeding up non-debug builds. (7a4189a) The progress_indicator_arrow class no longer sends unnecessary updates to the standard output stream. (cc15583) The new memory manager enforcement level ENFORCE_DEBUG functions like ENFORCE_WARN, except that memory overusage warnings are sent to log_warning() rather than log_debug(). (8394479)
TPIE 1.1 Release Candidate 1 New features in TPIE 1.1: The pipelining framework makes it easier to implement efficient streaming algorithms. For more information about the pipelining framework, see doc/pipelining.dox, or read the documentation on the TPIE homepage. The serialization framework provides streaming primitives for working with item streams where items vary in size. A particular practical use is for streams of polygons or polygonal line segments. We use the term `serialization stream', because it requires that items are (un)serializable (rather than trivially copyable, which is the requirement in file_stream). If you have previously run off the TPIE master branch, notice that we have changed the pipelining API recently to be more internally consistent. Other changes since TPIE 1.0: To get the number of workers used by the TPIE job framework, use tpie::default_worker_count(). (65c1de4) We now support Boost filesystem version 3 (34ac4be). The array implementation has changed, removing segmented_array which nobody used anyway. This makes the array implementation much simpler and less error-prone. The TPIE array now supports custom allocators, and it has specialized std::copy so that an efficient memcpy implementation (or similar) may be used automatically. (fad27fe and 2f79196) The memory manager now has switched from a protected integer to an atomic primitive to keep track of used memory, speeding up non-debug builds. (7a4189a) The progress_indicator_arrow class no longer sends unnecessary updates to the standard output stream. (cc15583) The new memory manager enforcement level ENFORCE_DEBUG functions like ENFORCE_WARN, except that memory overusage warnings are sent to log_warning() rather than log_debug(). (8394479)
This marks the release of TPIE version 1.0. The following improvements have been merged in since 1.0rc2: * Time estimation warning has been moved to debug log. (8a9138e) * Priority queue memory usage slightly improved. (fa1e12e) * Move backtrace printed by fractional_subindicator to debug log. (f016d26) * Fix memory management crashes in debug mode. (91b940b) * Get rid of CMake option TPIE_THREADSAFE_MEMORY_MANAGEMNT. (21eb5b8) * Various documentation cleanup; code comments have been added/clarified. * Some compiler warnings have been addressed.
The following bugs have been fixed since v1.0rc1. * Priority queue failing with a tpie::invalid_file_exception on large datasets. (0d22e10) * Priority queue correctness error on large datasets. (f209097) * tpie_name and tpie_dir_name failing rarely when the attempted temporary name was already in use. (fcc2863) * Memory manager warning when array::swap was used. (9496caa) * External queue not using the correct file::stream protocol. (0a5b9ab) * Several unhelpful compiler warnings inside TPIE have been muted. (f51b069) * Memory manager now only warns about memory overusage in exponential steps. (d98736e) Improvements: * If boost::thread reports 4 or more CPUs, use one less worker thread than the number of CPUs. (8cee7dc) * progress_indicator_arrow now displays breadcrumbs from fractional progress indicators. (fe47191)
Hopefully fix default temp path under windows
Account for the extra buffer used in remove_group_buffer. This method… … is rarely called and the extra memory it used were not present in the memory calculations as far as I can see. This hopefully fixes a bunch of crashers that I've had with the pq, I'm currently running extensive tests.
PreviousNext