Commit graph

38 commits

Author SHA1 Message Date
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
Peter Taoussanis
03684b6d28 Housekeeping 2013-01-20 19:14:59 +07:00
Peter Taoussanis
f5b2b14320 Housekeeping 2012-12-05 13:47:54 +07:00
Peter Taoussanis
c2c46167ec Swap hash-map thaw implementation for perf & to avoid OOM errors
Thanks to moonranger for pointing out the OOM issue.
2012-12-04 13:17:50 +07:00
Peter Taoussanis
f20da14cb4 Stop writing version headers
It's slow, and in practice doesn't offer anything better than deprecated per-type IDs.
2012-08-15 23:24:44 +07:00
Peter Taoussanis
8bec62767d BREAKING (minor): Change freeze-to-bytes, thaw-from-bytes API when not using defaults.
Breaks only for users that were overriding `freeze-to-bytes` or `thaw-from-bytes` defaults to disable
compression.

Changed to map-based config to allow extra control (like :read-eval? as suggested by Luc Préfontaine).
This change will also allow further additions in future without the need to break the API again.
2012-07-24 14:42:19 +07:00
Peter Taoussanis
1bcab7ede2 Add version comparison stuff to utils. Now test tagged-literals when Clojure version is sufficient. 2012-07-21 18:23:48 +07:00
Peter Taoussanis
ba99940784 Fixed 'deprecated as of' comments. 2012-07-21 01:56:30 +07:00
Peter Taoussanis
780e06c693 Support strings (incl. reader strings) of length > 64K.
Luc Préfontaine kindly pointed out that `.writeUTF` and `.readUTF` have a maximum length of
64k. This commit switches to a custom integer-length prefix for strings and reader types to
boost their max length. Keywords are unchanged.

Old string and reader type IDs are now deprecated but will continue to be supported for
thawing.
2012-07-21 01:47:54 +07:00
Peter Taoussanis
8bc790cf06 Improve performance: remove unnecessary reflection.
`write-as-bytes!` was unnecessarily general. Renamed as type-hinted `write-biginteger!`.
Improves write performance of all types that relied on `write-as-bytes`: bigints, bigdecs,
rational.
2012-07-21 01:12:45 +07:00
Peter Taoussanis
0b3667c0e2 Simplified benchmarking. 2012-07-14 14:28:02 +07:00
Peter Taoussanis
1e92263f36 Housekeeping. 2012-07-08 18:34:47 +07:00
Peter Taoussanis
cddd2eef13 Added support for namespaced keywords. 2012-07-08 13:01:00 +07:00
Peter Taoussanis
8f9bce289b Add notes about tagged literals. 2012-07-08 12:49:22 +07:00
Peter Taoussanis
07e542dc52 Housekeeping. 2012-07-07 20:17:16 +07:00
Peter Taoussanis
146f82e079 Initial source, tests, benchmarks. 2012-07-07 19:03:44 +07:00
Peter Taoussanis
53332644bb Initial structure commit. 2012-07-07 00:29:41 +07:00