Peter Taoussanis
3879cf4d62
Add experimental LZMA2 compressor for higher compression ratios than Snappy
2013-10-19 15:37:38 +07:00
Peter Taoussanis
512aca32aa
Housekeeping
2013-10-19 13:51:58 +07:00
Peter Taoussanis
f6d5ebd862
Revert "add fast-path encoding for long, doubles, keywords, and strings"
...
This reverts commit a92c493375 .
As per https://github.com/ptaoussanis/nippy/pull/31 , tests appear to be
inconclusive about the effetcs of this commit. Candidate for future
reconsideration.
2013-10-17 17:44:54 +07:00
Peter Taoussanis
ae0a2e7907
Update benchmarks
2013-10-12 16:45:19 +07:00
Zach Tellman
a92c493375
add fast-path encoding for long, doubles, keywords, and strings
2013-10-12 16:45:19 +07:00
Zach Tellman
5492c1ea0f
don't iterate twice over uncounted seqs, and use explicit key/val accessors for kv-collections, appears to give ~25% improvement in 'freeze'
2013-10-12 16:45:19 +07:00
Peter Taoussanis
1b27c1be7a
v2.2.0
2013-10-03 21:21:59 +07:00
Peter Taoussanis
49fbbf270f
Deps
2013-09-25 16:11:22 +07:00
Peter Taoussanis
6cce8a2857
Housekeeping: docstring typo
2013-08-08 14:22:46 +07:00
Peter Taoussanis
2061dd0868
Add & _ arg for thaw-from-stream!
2013-08-07 18:43:04 +07:00
Peter Taoussanis
d15a12af76
Update benchmarks
2013-08-07 18:29:36 +07:00
Peter Taoussanis
08f2cb1273
Use *data-readers* value for edn/read-string
2013-08-07 17:52:58 +07:00
Peter Taoussanis
d3120f0246
Remove :print-dup? option (no longer useful since switch to edn/read-string)
2013-08-07 17:52:00 +07:00
Peter Taoussanis
efa56eca73
Use tools.reader.edn in benchmarks
2013-08-07 17:37:22 +07:00
Peter Taoussanis
05907403dc
Revert 8e4cc07 (unnecessary, slower)
2013-08-07 17:37:22 +07:00
Peter Taoussanis
3addeed195
Swap IPersistentMap -> APersistentMap
2013-08-07 17:37:22 +07:00
Peter Taoussanis
8e1d649bcb
Swap IPersistentCollection->ISeq (the former seems to interfere with IRecord dispatch)
2013-08-07 17:37:22 +07:00
Peter Taoussanis
a76734a25a
Housekeeping, add test for records with custom extension
2013-08-07 17:30:13 +07:00
James Reeves
5442216343
Add a fast serialization for UUID objects
2013-08-07 10:21:10 +01:00
James Reeves
8b13ff68b9
Add a fast serialization for Date objects
2013-08-07 10:19:53 +01:00
Peter Taoussanis
e48ccb4c45
Merge pull request #26 from weavejester/fast-records
...
Fast serialization for records
2013-08-06 23:54:33 -07:00
James Reeves
6ab00df42c
Add fast serialization for records
2013-08-06 17:56:43 +01:00
James Reeves
6caff3503e
Remove read-eval option made unnecessary by EDN reader
2013-08-06 16:59:04 +01:00
James Reeves
6024a9cc31
Replace unsafe Clojure reader with safe EDN reader
2013-08-06 16:45:30 +01:00
Peter Taoussanis
c69bb0ec5f
Perf: only set bindings when necessary
2013-08-02 21:28:51 +07:00
Peter Taoussanis
4071d0f3ec
Switch to simpler extend-freeze, extend-thaw custom type API (ALPHA)
2013-08-02 21:28:51 +07:00
Peter Taoussanis
c2a964932c
Add custom-freezer macro for easier Freezable extension
2013-08-02 15:04:11 +07:00
Peter Taoussanis
99091b0a32
Add support for custom thaw readers
2013-07-29 16:43:29 +07:00
Peter Taoussanis
8e4cc072e3
Move Reader fallback out of Freezable protocol to make protocol extensible
2013-07-29 15:58:51 +07:00
Peter Taoussanis
69611657c7
Expose low-level fns: freeze-to-stream!, thaw-from-stream!
2013-07-29 15:57:36 +07:00
Peter Taoussanis
a8b1686a54
Make head-meta ^:const
2013-07-25 15:41:13 +07:00
Peter Taoussanis
93ef118e80
Housekeeping
2013-07-06 15:55:59 +07:00
Peter Taoussanis
4adb7fa376
Housekeeping
2013-06-24 15:22:54 +07:00
Peter Taoussanis
8a33f15801
Temporarily disable grease dep
2013-06-22 18:38:16 +07:00
Max Penet
fb09ebb89b
try grease 0.2.1
2013-06-18 18:32:54 +02:00
Peter Taoussanis
ac3901f626
Reverse use of fast io-streams
...
Seemed to be causing issues in multi-JVM auto-tests. The added perf. benefit was
minor for Nippy's use case (~2-3%) - so this isn't an urgent change. Will
re-examine again later.
2013-06-18 14:08:22 +07:00
Peter Taoussanis
f7a96bd37f
Housekeeping
2013-06-18 13:48:34 +07:00
Peter Taoussanis
9a2b0a068b
thaw API should throw on first non-legacy error
2013-06-18 09:49:42 +07:00
Peter Taoussanis
4326da0ae5
Add tooling API
2013-06-17 23:20:17 +07:00
Peter Taoussanis
c8c0b99ae2
Update benchmarks (2.0.0-alpha6 w/fast io-streams)
2013-06-17 15:12:18 +07:00
Peter Taoussanis
3e6b12ac11
Housekeeping for 67633d5
2013-06-17 13:54:45 +07:00
Max Penet
67633d5fd6
try non sync version of byte-array iostreams
2013-06-16 22:27:22 +02:00
Peter Taoussanis
559c73abef
Fix core dump issue (important), simplify API
...
PROBLEM: :legacy-mode :auto/true thawing was resulting in JVM core
dumps when attempting to use Snappy to decompress encrypted data.
CAUSE: The org.iq80.snappy implementation seems to choke on the
random IV byte data being generated by the AES128 encrypter. This
may or may not be a bug (still awaiting feedback from lib's authors).
SOLUTION: We're only susceptible to this issue when trying to
decompress data that is: a) encrypted, b) being thawed in legacy mode.
In particular, we're _not_ susceptible to this issue when thawing
in non-legacy mode because in that case we have a header explicitly
warning us that the data is encrypted.
An obvious work-around, therefore, is just to disable decryption when
attempting to thaw legacy-mode data. In practice this isn't a problem
because older versions of Nippy didn't support encryption anyway.
2013-06-16 19:33:23 +07:00
Peter Taoussanis
e351fdfc43
Rename default compressor, encryptor
2013-06-16 17:55:20 +07:00
Peter Taoussanis
a2376184dc
Auto AES128 block size
2013-06-16 16:20:55 +07:00
Peter Taoussanis
5877dc4df0
Update benchmarks (2.0.0-alpha6)
2013-06-16 14:06:36 +07:00
Peter Taoussanis
4ec950417c
Rewrite all stream helpers as macros (performance)
2013-06-16 13:23:32 +07:00
Peter Taoussanis
26ad8dd252
Reorganize low-level stream fns (prepping for perf work)
2013-06-16 13:23:32 +07:00
Peter Taoussanis
c5d039b183
Make coll-thaw, coll-thaw-kvs macros (performance)
2013-06-16 13:23:32 +07:00
Peter Taoussanis
9c207cd6af
Housekeeping
2013-06-16 13:23:32 +07:00