ANNOUNCE.rst 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. ======================
  2. Announcing bcolz 1.1.0
  3. ======================
  4. What's new
  5. ==========
  6. This release brings quite a lot of changes. After format stabilization
  7. in 1.0, the focus is now in fine-tune many operations (specially queries
  8. in ctables), as well as widening the available computational engines.
  9. Highlights:
  10. * Much improved performance of ctable.where() and ctable.whereblocks().
  11. Now bcolz is getting closer than ever to fundamental memory limits
  12. during queries (see the updated benchmarks in the data containers
  13. tutorial below).
  14. * Better support for Dask; i.e. GIL is released during Blosc operation
  15. when bcolz is called from a multithreaded app (like Dask). Also, Dask
  16. can be used as another virtual machine for evaluating expressions (so
  17. now it is possible to use it during queries too).
  18. * New ctable.fetchwhere() method for getting the rows fulfilling some
  19. condition in one go.
  20. * New quantize filter for allowing lossy compression of floating point
  21. data.
  22. * It is possible to create ctables with more than 255 columns now.
  23. Thanks to Skipper Seabold.
  24. * The defaults during carray creation are scalars now. That allows to
  25. create highly dimensional data containers more efficiently.
  26. * carray object does implement the __array__() special method now. With
  27. this, interoperability with numpy arrays is easier and faster.
  28. For a more detailed change log, see:
  29. https://github.com/Blosc/bcolz/blob/master/RELEASE_NOTES.rst
  30. For some comparison between bcolz and other compressed data containers,
  31. see:
  32. https://github.com/FrancescAlted/DataContainersTutorials
  33. specially chapters 3 (in-memory containers) and 4 (on-disk containers).
  34. What it is
  35. ==========
  36. *bcolz* provides columnar and compressed data containers that can live
  37. either on-disk or in-memory. Column storage allows for efficiently
  38. querying tables with a large number of columns. It also allows for
  39. cheap addition and removal of column. In addition, bcolz objects are
  40. compressed by default for reducing memory/disk I/O needs. The
  41. compression process is carried out internally by Blosc, an
  42. extremely fast meta-compressor that is optimized for binary data. Lastly,
  43. high-performance iterators (like ``iter()``, ``where()``) for querying
  44. the objects are provided.
  45. bcolz can use numexpr internally so as to accelerate many vector and
  46. query operations (although it can use pure NumPy for doing so too).
  47. numexpr optimizes the memory usage and use several cores for doing the
  48. computations, so it is blazing fast. Moreover, since the carray/ctable
  49. containers can be disk-based, and it is possible to use them for
  50. seamlessly performing out-of-memory computations.
  51. bcolz has minimal dependencies (NumPy), comes with an exhaustive test
  52. suite and fully supports both 32-bit and 64-bit platforms. Also, it is
  53. typically tested on both UNIX and Windows operating systems.
  54. Together, bcolz and the Blosc compressor, are finally fulfilling the
  55. promise of accelerating memory I/O, at least for some real scenarios:
  56. http://nbviewer.ipython.org/github/Blosc/movielens-bench/blob/master/querying-ep14.ipynb#Plots
  57. Example users of bcolz are Visualfabriq (http://www.visualfabriq.com/),
  58. and Quantopian (https://www.quantopian.com/):
  59. * Visualfabriq:
  60. * *bquery*, A query and aggregation framework for Bcolz:
  61. * https://github.com/visualfabriq/bquery
  62. * Quantopian:
  63. * Using compressed data containers for faster backtesting at scale:
  64. * https://quantopian.github.io/talks/NeedForSpeed/slides.html
  65. Resources
  66. =========
  67. Visit the main bcolz site repository at:
  68. http://github.com/Blosc/bcolz
  69. Manual:
  70. http://bcolz.blosc.org
  71. Home of Blosc compressor:
  72. http://blosc.org
  73. User's mail list:
  74. bcolz@googlegroups.com
  75. http://groups.google.com/group/bcolz
  76. License is the new BSD:
  77. https://github.com/Blosc/bcolz/blob/master/LICENSES/BCOLZ.txt
  78. Release notes can be found in the Git repository:
  79. https://github.com/Blosc/bcolz/blob/master/RELEASE_NOTES.rst
  80. ----
  81. **Enjoy data!**
  82. .. Local Variables:
  83. .. mode: rst
  84. .. coding: utf-8
  85. .. fill-column: 72
  86. .. End:
  87. .. vim: set textwidth=72: