Commit graph

679 commits

Author SHA1 Message Date
Peter Taoussanis
cb0b871fe8 [new] Re-enable Snappy compressor
Upstream safety issue has been resolved,
Ref. <https://github.com/airlift/aircompressor/issues/183>.
2024-02-26 11:07:42 +01:00
Peter Taoussanis
7be9b4f789 [nop] Bump deps 2024-02-26 11:07:42 +01:00
Peter Taoussanis
cb5b7cf063 [fix] [#169] Can't auto-identify :zstd compressor when decompressing 2024-02-26 11:07:42 +01:00
Peter Taoussanis
40143e71ee [nop] Misc benchmark housekeeping 2024-02-26 11:07:42 +01:00
Peter Taoussanis
7e84f58ee4 [nop] Update project template 2024-02-25 19:11:46 +01:00
Peter Taoussanis
b4d161db53 v3.4.0-RC1 (2024-02-06) 2024-02-06 16:02:05 +01:00
Peter Taoussanis
578c585bbf [mod] Remove nippy/snappy-compressor
Details:

  - Nippy will continue to support thawing OLD data that was originally compressed with Snappy.
  - But Nippy will no longer support freezing NEW data with Snappy.

Motivation:

  - The current Snappy implementation can cause JVM crashes in some cases [1].

  - The only alternative JVM implementation that seems to be safe [2] uses JNI and
    so would introduce possible incompatibility issues even for folks not using Snappy.

  - Nippy already moved to the superior LZ4 as its default compression scheme in v2.7.0,
    more than 9 years ago.

[1] Ref. <https://github.com/airlift/aircompressor/issues/183>
[2] Ref. <https://github.com/xerial/snappy-java>
2024-02-06 16:01:13 +01:00
Peter Taoussanis
676898495c [wip] Explore Snappy implementations 2024-02-06 14:30:59 +01:00
Peter Taoussanis
7d2800d106 [nop] Updates for latest Encore 2024-02-06 14:30:59 +01:00
Peter Taoussanis
3c27f03bc4 [nop] Bump deps 2024-02-06 14:30:59 +01:00
Peter Taoussanis
dcc6b081f1 [new] [#164] Update benchmarks 2024-02-06 14:30:59 +01:00
Peter Taoussanis
f287df9e9c [nop] thaw-xform housekeeping 2024-02-06 14:30:59 +01:00
Peter Taoussanis
9b27a00a59 [nop] Protocol housekeeping 2024-02-06 14:30:59 +01:00
Peter Taoussanis
9db09e16a9 [new] [#163] Track serialized output in tests 2024-02-06 14:30:59 +01:00
Peter Taoussanis
c2770c6e99 [mod] Refactor stress data
BREAKING for the very small minority of folks that use `nippy/stress-data`.

Changes:

1. Make `nippy/stress-data` a function

   It's unnecessarily wasteful to generate and store all this data when it's not
   being used in the common case.

2. Make data deterministic

   The stress data will now generally be stable by default between different versions
   of Nippy, etc. This will help support an upcoming test for stable serialized output.
2024-02-06 14:30:59 +01:00
Peter Taoussanis
ba6477c097 [nop] Refactor type-checking, remove vestigial utils ns 2024-02-06 14:30:59 +01:00
Peter Taoussanis
9c260b03c4 [doc] Add pointer to correct wiki UI 2024-02-06 14:30:59 +01:00
Peter Taoussanis
27b3ed958b [nop] Misc housekeeping 2024-02-06 14:30:59 +01:00
Peter Taoussanis
e2a44abf6f [nop] Update README 2024-02-06 09:28:48 +01:00
Peter Taoussanis
2900a4d758 [nop] [#163] Update CHANGELOG 2024-02-06 09:28:48 +01:00
Peter Taoussanis
265b15c94c [fix] Resolve Babashka build issue 2024-02-06 09:28:48 +01:00
Peter Taoussanis
cba055306a [fix] Resolve Lein profile warning 2024-02-06 09:28:48 +01:00
Peter Taoussanis
0d002f8d06 v3.4.0-beta1 (2023-09-26) 2023-10-11 14:30:54 +02:00
Peter Taoussanis
d566134da8 [nop] Misc housekeeping 2023-10-11 14:23:34 +02:00
Peter Taoussanis
f3ff7ae8a3 [new] Add native MapEntry freezer 2023-10-11 14:23:34 +02:00
Peter Taoussanis
fb6f75e4d7 [new] Smarter, faster, protocol-based freezable? util 2023-10-11 14:23:34 +02:00
Peter Taoussanis
e0cd00345d [nop] Update docs 2023-10-11 14:23:34 +02:00
Peter Taoussanis
99970d5129 [nop] Update benchmark results 2023-10-11 14:23:34 +02:00
Peter Taoussanis
bcf767332e [nop] Move benchmarks ns under tests dir
Prevents benchmark code from being unnecessarily included as dependency
2023-10-11 14:23:34 +02:00
Peter Taoussanis
fef079d81d [new] Add subvec to stress data 2023-10-11 14:23:34 +02:00
Peter Taoussanis
6ad5aebd1a [new] Add :zstd compressor, new compressor backend
Also switch to https://github.com/airlift/aircompressor for faster
and combined implementations of: LZ4, Snappy
2023-10-11 14:23:34 +02:00
Peter Taoussanis
c8f30e171d [wip] aircompressor experiments (pure Java compression lib) 2023-10-11 14:23:34 +02:00
Peter Taoussanis
b28b0ca175 [nop] Remove accidental duplicate test ns 2023-10-11 14:23:34 +02:00
Peter Taoussanis
d99e0f8541 v3.3.0 (2023-10-11) 2023-10-11 14:12:08 +02:00
Peter Taoussanis
54d179f629 v3.3.0-RC2 (2023-09-25) 2023-09-25 11:55:29 +02:00
Peter Taoussanis
01e42d23e6 [new] [#160] Add more info to *freeze-fallback* docstring 2023-09-25 11:50:06 +02:00
Peter Taoussanis
df5a7df91f [nop] Update project template 2023-09-25 11:50:06 +02:00
Peter Taoussanis
e864294321 [nop] Changes for dependency bumps 2023-09-25 11:50:06 +02:00
Peter Taoussanis
7953751eba [nop] Bump deps 2023-09-25 11:50:06 +02:00
Peter Taoussanis
8d76d9c350 [nop] Improve generative tests, etc.
Incl.:

  - Enlarge set of generated data types
  - Use generative tests in more cases
  - Run more test rounds
2023-09-25 11:50:06 +02:00
Peter Taoussanis
d5a836326a [nop] Misc housekeeping 2023-09-25 11:33:32 +02:00
Peter Taoussanis
ed95701c79 [nop] Bring back private write-str-sm
Hadn't actually intended to remove this
2023-08-03 17:14:16 +02:00
Peter Taoussanis
ac24f872a8 [nop] Add missing metadata to new *thaw-xform* var 2023-08-02 14:44:07 +02:00
Peter Taoussanis
40c1dce6bf v3.3.0-RC1 (2023-08-02) 2023-08-02 14:37:18 +02:00
Peter Taoussanis
38d6aab5c1 [nop] Bump deps 2023-08-02 14:23:06 +02:00
Peter Taoussanis
af3957f4db [nop] Trim, update CHANGELOG 2023-08-02 14:23:05 +02:00
Peter Taoussanis
79fbf8f3c5 [nop] Update README template 2023-08-02 13:50:40 +02:00
Peter Taoussanis
1dffa74b8e [nop] Update project template 2023-08-02 13:50:40 +02:00
Peter Taoussanis
8b7186a930 [nop] Update benchmark results 2023-08-02 13:50:40 +02:00
Peter Taoussanis
89f98b440f [new] [#153] PoC: transducer support on thaw
Note: also considered (but ultimately rejected) idea of a separate
`*thaw-mapfn*` opt that operates directly on every `thaw-from-in!`
result.

This (transducer) approach is more flexible, and covers the most
common use cases just fine. Having both seems excessive.
2023-08-02 13:50:40 +02:00