Author: | Francesc Alted i Abad |
---|---|
Contact: | [email protected] |
URL: | http://blosc.pytables.org |
#XXX version-specific blurb XXX#
- Fix compile error with msvc compilers (Christoph Gohlke)
- Redefinition of the BLOSC_MAX_BUFFERSIZE constant as (INT_MAX - BLOSC_MAX_OVERHEAD) instead of just INT_MAX. This prevents to produce outputs larger than INT_MAX, which is not supported.
- exit() call has been replaced by a
return -1
in blosc_compress() when checking for buffer sizes. Now programs will not just exit when the buffer is too large, but return a negative code. - Improvements in explicit casts. Blosc compiles without warnings (with GCC) now.
- Lots of improvements in docs, in particular a nice ascii-art diagram of the Blosc format (Valentin Haenel).
- Improvements to the plot-speeds.py (Valentin Haenel).
- [HDF5 filter] Adapted HDF5 filter to use HDF5 1.8 by default (Antonio Valentino).
- [HDF5 filter] New version of H5Z_class_t definition (Antonio Valentino).
- Much improved compression ratio when using large blocks (> 64 KB) and high compression levels (> 6) under some circumstances (special data distribution). Closes #7.
- Fixes for small typesizes (#6 and #1 of python-blosc).
- Added code to avoid calling blosc_set_nthreads more than necessary. That will improve performance up to 3x or more, specially for small chunksizes (< 1 MB).
- Added code for emulating pthreads API on Windows. No need to link explicitly with pthreads lib on Windows anymore. However, performance is a somewhat worse because the new emulation layer does not support the pthread_barrier_wait() call natively. But the big improvement in installation easiness is worth this penalty (most specially on 64-bit Windows, where pthreads-win32 support is flaky).
- New BLOSC_MAX_BUFFERSIZE, BLOSC_MAX_TYPESIZE and BLOSC_MAX_THREADS symbols are available in blosc.h. These can be useful for validating parameters in clients. Thanks to Robert Smallshire for suggesting that.
- A new BLOSC_MIN_HEADER_LENGTH symbol in blosc.h tells how many bytes long is the minimum length of a Blosc header. blosc_cbuffer_sizes() only needs these bytes to be passed to work correctly.
- Removed many warnings (related with potentially dangerous type-casting code) issued by MSVC 2008 in 64-bit mode.
- Fixed a problem with the computation of the blocksize in the Blosc filter for HDF5.
- Fixed a problem with large datatypes. See http://www.pytables.org/trac/ticket/288 for more info.
- Now Blosc is able to work well even if you fork an existing process with a pool of threads. Bug discovered when PyTables runs in multiprocess environments. See http://pytables.org/trac/ticket/295 for details.
- Added a new blosc_getitem() call to allow the retrieval of items in sizes smaller than the complete buffer. That is useful for the carray project, but certainly for others too.
- Added a filter for HDF5 so that people can use Blosc outside PyTables, if they want to.
- Many small improvements, specially in README files.
- Do not assume that size_t is uint_32 for every platform.
- Added more protection for large buffers or in allocation memory routines.
- The src/ directory has been renamed to blosc/.
- The maxbytes parameter in blosc_compress() has been renamed to destsize. This is for consistency with the blosc_decompress() parameters.
- Now, compression level 0 is allowed, meaning not compression at all. The overhead of this mode will be always BLOSC_MAX_OVERHEAD (16) bytes. This mode actually represents using Blosc as a basic memory container.
- Supported a new parameter maxbytes for
blosc_compress()
. It represents a maximum of bytes for output. Tests unit added too. - Added 3 new functions for querying different metadata on compressed buffers. A test suite for testing the new API has been added too.
- Support for cross-platform big/little endian compatibility in Blosc headers has been added.
- Fixed several failures exposed by the extremesuite. The problem was a bad check for limits in the buffer size while compressing.
- Added a new suite in bench.c called
debugsuite
that is appropriate for debugging purposes. Now, theextremesuite
can be used for running the complete (and extremely long) suite.
- Fixed several nasty bugs uncovered by the new suites in bench.c. Thanks to Tony Theodore and Gabriel Beckers for their (very) responsive beta testing and feedback.
- Added several modes (suites), namely
suite
,hardsuite
andextremehardsuite
in bench.c so as to allow different levels of testing.
- Internal format version bumped to 2 in order to allow an easy way to indicate that a buffer is being saved uncompressed. This is not supported yet, but it might be in the future.
- Blosc can use threads now for leveraging the increasing number of multi-core processors out there. See README-threaded.txt for more info.
- Added a protection for MacOSX so that it has to not link against posix_memalign() funtion, which seems not available in old versions of MacOSX (for example, Tiger). At nay rate, posix_memalign() is not necessary on Mac because 16 bytes alignment is ensured by default. Thanks to Ivan Vilata. Fixes #3.