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
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
Max Penet
63765c8510
move thaw exception handler outside of thaw (it's recreated everytime the function gets called now)
2013-06-16 11:58:58 +07:00
Max Penet
e4cde95d54
repeatedly-into as a macro
2013-06-16 11:47:56 +07:00
Peter Taoussanis
823f2c3c46
Housekeeping
2013-06-15 20:41:43 +07:00
Peter Taoussanis
c42457a48c
Housekeeping, new keyword implementation (mpenet)
2013-06-14 17:52:25 +07:00
Peter Taoussanis
f706a51a4d
Rework v2 header format
2013-06-14 17:49:53 +07:00
Peter Taoussanis
15dd24ac06
Add :auto legacy mode for _full_, transparent backwards-compatibility
2013-06-13 19:01:57 +07:00
Peter Taoussanis
4bc6dde12b
Update benchmarks (2.0.0-alpha1)
2013-06-13 16:41:54 +07:00
Peter Taoussanis
8d48ec9d75
NB: Simpler, more flexible API (backwards-compatible)
2013-06-13 16:41:54 +07:00
Peter Taoussanis
284d11c660
Prep for pluggable compression+encryption
2013-06-13 16:41:54 +07:00
Peter Taoussanis
5a398efd9f
Rename repeatedly* -> repeatedly-into
2013-06-13 16:41:54 +07:00
Peter Taoussanis
bfc16ce3ab
Optimize collection creation (much faster)
2013-06-13 16:41:54 +07:00
Peter Taoussanis
613c77b8a1
Further prep for new API, mark freeze-to-bytes and thaw-from-bytes as deprecated
2013-06-13 11:45:45 +07:00
Peter Taoussanis
9734e882bb
Swap repeatedly -> utils/repeatedly* (faster)
2013-06-13 11:45:45 +07:00
Peter Taoussanis
7705c42142
Housekeeping prep for new API
2013-06-13 11:45:45 +07:00
Peter Taoussanis
ac380eb621
Mark freeze-to-stream! and thaw-from-stream! as private
2013-06-13 11:45:45 +07:00
Peter Taoussanis
da077c6a54
Drop Clojure 1.3 support
2013-06-13 11:45:45 +07:00
Peter Taoussanis
6fe433b579
Update tests, migrate to Expectations lib
2013-06-13 11:45:44 +07:00
Peter Taoussanis
ab3209f2dc
Housekeeping
2013-06-13 01:20:18 +07:00
Peter Taoussanis
9a38a12e11
Add helpful thaw exceptions
2013-06-12 15:39:30 +07:00
Peter Taoussanis
611ab56b74
Housekeeping
2013-06-12 15:28:49 +07:00
Peter Taoussanis
4ac2a34d7a
Crypto: simplify design, add auto salting
...
Have decided to simplify the API even further and bring configuration down to
essentially one decision: do you want auto salting, or key caching?
2013-06-12 15:09:17 +07:00
Peter Taoussanis
bea3f5e84e
Fix crypto encryption ba-concat order
2013-06-12 02:04:36 +07:00
Peter Taoussanis
2dcad8f4bd
Housekeeping
2013-06-11 21:15:41 +07:00
Peter Taoussanis
3ecbc420cd
Add basic crypto support (alpha)
2013-06-11 21:10:08 +07:00
Peter Taoussanis
749228dde5
Update benchmarks
2013-06-03 16:42:49 +07:00
Max Penet
8305f30499
replace partial with an anonymous fn (performance optimisation)
2013-06-02 17:54:44 +02:00
Peter Taoussanis
b91ab8e031
Fix OOM issue for large lists
2013-04-14 14:47:09 +07:00
Peter Taoussanis
37a2a80a98
Add support for sorted-set and sorted-map types
2013-04-14 14:44:06 +07:00
Peter Taoussanis
eb9e828647
Bump dependency (snappy 0.3), simplify utils/compress-bytes
2013-02-05 20:24:14 +07:00
Peter Taoussanis
3e178dabf3
EXPERIMENTAL: Swap Snappy implementation org.xerial.snappy/snappy-java -> org.iq80.snappy/snappy
...
This (native Java) implementation appears to be about as fast as
the old (JNI) implementation, but has better support across more platforms.
Going to evaluate stability on this branch for possible later merging into master.
2013-01-20 19:39:08 +07:00
Peter Taoussanis
fdff6aacd1
Add autobench to tests
2013-01-20 19:37:08 +07:00
Peter Taoussanis
f056abc0e8
Add optional print-dup? arg to freeze-to-stream! (default to true)
2013-01-20 19:24:12 +07:00