From 4bc6dde12b875dcd00cb66bf1797b4abfd3f5139 Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Thu, 13 Jun 2013 16:41:43 +0700 Subject: [PATCH] Update benchmarks (2.0.0-alpha1) --- benchmarks/chart.png | Bin 16818 -> 18627 bytes src/taoensso/nippy/benchmarks.clj | 8 +++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/benchmarks/chart.png b/benchmarks/chart.png index 77608db95a14bffdd13ac1db76a3427c02c92d56..8fbbff7507c8ddbd4fb4f6d3ffca50f72b0f3abe 100644 GIT binary patch literal 18627 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 DPYMG! literal 16818 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 diff --git a/src/taoensso/nippy/benchmarks.clj b/src/taoensso/nippy/benchmarks.clj index d56109c..0b2d554 100644 --- a/src/taoensso/nippy/benchmarks.clj +++ b/src/taoensso/nippy/benchmarks.clj @@ -10,7 +10,7 @@ (defn freeze-reader [x] (binding [*print-dup* false] (pr-str x))) (defn thaw-reader [x] (binding [*read-eval* false] (read-string x))) -(def roundtrip-reader (comp freeze-reader thaw-reader)) +(def roundtrip-reader (comp thaw-reader freeze-reader)) (def roundtrip-defaults (comp thaw freeze)) (def roundtrip-encrypted (comp #(thaw % {:password [:cached "p"]}) @@ -65,6 +65,12 @@ (println "Done! (Time for cake?)")) + ;;; 13 June 2013: Clojure 1.5.1, Nippy 2.0.0-alpha1 + ;; {:reader {:freeze 23124, :thaw 26469, :round 47674, :data-size 22923}} + ;; {:defaults {:freeze 4007, :thaw 2520, :round 6038, :data-size 12387}} + ;; {:encrypted {:freeze 5560, :thaw 3867, :round 9157, :data-size 12405}} + ;; {:fast {:freeze 3429, :thaw 2078, :round 5577, :data-size 13237}} + ;;; 11 June 2013: Clojure 1.5.1, Nippy 1.3.0-alpha1 ;; {:reader {:freeze 17042, :thaw 31579, :round 48379, :data-size 22954}} ;; {:fast {:freeze 3078, :thaw 4684, :round 8117, :data-size 13274}}