diff --git a/CHANGELOG.md b/CHANGELOG.md index e6abc44..9208e4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,26 @@ > This project uses [Break Versioning](https://github.com/ptaoussanis/encore/blob/master/BREAK-VERSIONING.md) as of **Aug 16, 2014**. +## v2.12.0-SNAPSHOT / ... + +```clojure +[com.taoensso/nippy "2.12.0-SNAPSHOT"] +``` + +> This is a **major release** that **may** involve some **breaking API changes** in rare cases for users of some low-level or obscure features that have been made private or removed. If your code compiles with this new version of Nippy, you should be fine. + +> As with all Nippy releases: this version can read data written by older versions but older versions may not be able to read data written by _this_ version. + +* **BREAKING**: dropped support for `*final-freeze-fallback*` (rarely used) +* **BREAKING**: dropped support for `*default-freeze-compressor-selector*` (rarely used) +* **BREAKING**: made several implementation details private, incl. most low-level `write-` and `read-` fns (rarely used) +* **Performance**: several significant speed + space efficiency improvements, including more variable-sized types +* **New built-in types** (these previously fell back to the reader): regex patterns, symbols +* **New experimental caching feature** (please see `cache` docstring for details) +* **New**: `fast-freeze`, `fast-thaw` utils (please see docstrings for details) +* **Change**: `freeze` return val is no longer auto type hinted as `^bytes` (had a performance cost, rarely used) + +**PLEASE REPORT ANY PROBLEMS**, thank you! + ## v2.11.1 / 2016 Feb 25 > **Hotfix** for broken Clojure 1.5 support diff --git a/benchmarks.png b/benchmarks.png index 9cd7982..af74558 100644 Binary files a/benchmarks.png and b/benchmarks.png differ diff --git a/project.clj b/project.clj index 6952995..d2f427f 100644 --- a/project.clj +++ b/project.clj @@ -1,4 +1,4 @@ -(defproject com.taoensso/nippy "2.11.1" +(defproject com.taoensso/nippy "2.12.0-SNAPSHOT" :author "Peter Taoussanis " :description "High-performance serialization library for Clojure" :url "https://github.com/ptaoussanis/nippy" diff --git a/src/taoensso/nippy/benchmarks.clj b/src/taoensso/nippy/benchmarks.clj index aaa70be..698b4ef 100644 --- a/src/taoensso/nippy/benchmarks.clj +++ b/src/taoensso/nippy/benchmarks.clj @@ -62,15 +62,15 @@ ;; (bench {:reader? true :lzma2? true :fressian? true :laps 2}) ;; (bench {:laps 2}) - ;;; 2016 Apr 13, v2.12.0-SNAPSHOT, refactor + larger data + new hardware - {:reader {:round 52105, :freeze 17678, :thaw 34427, :size 27831}} - {:lzma2 {:round 43436, :freeze 28518, :thaw 14918, :size 11272}} - {:fressian {:round 6875, :freeze 5035, :thaw 1840, :size 17105}} - {:encrypted {:round 4718, :freeze 2872, :thaw 1846, :size 16420}} - {:default {:round 4250, :freeze 2547, :thaw 1703, :size 16400}} - {:fast1 {:round 3777, :freeze 2118, :thaw 1659, :size 17070}} - {:fast2 {:round 3753, :freeze 2119, :thaw 1634, :size 17066}} - ;; 12.26 + ;;; 2016 Apr 14, v2.12.0-SNAPSHOT, refactor + larger data + new hardware + {:reader {:round 52380, :freeze 17817, :thaw 34563, :size 27861}} + {:lzma2 {:round 43321, :freeze 28312, :thaw 15009, :size 11260}} + {:fressian {:round 6911, :freeze 5109, :thaw 1802, :size 17105}} + {:encrypted {:round 4726, :freeze 2951, :thaw 1775, :size 16308}} + {:default {:round 4299, :freeze 2655, :thaw 1644, :size 16278}} + {:fast {:round 3739, :freeze 2159, :thaw 1580, :size 17069}} + ;; 12.184228890439638 :default + ;; 14.009093340465364 :fast ;;; 2015 Oct 6, v2.11.0-alpha4 {:reader {:round 73409, :freeze 21823, :thaw 51586, :size 27672}}