Repository navigation
v0.3.0: recursor, lazy loading, integer digit encoding
This release adds several features and fixes:
- Bitser now uses my
Recursorclass to 'emulate' recursion, which means that it can go through deep class hierarchies, without causingStackOverflowErrors - The
SimpleLazyBitsclass is added, which makes it very easy to lazily deserialize (big) classes without external references, which is nice for improving start-up times - Both integers and floats can now have
commonValues. If you configurecommonValueson an int/float field, these values will take much less storage space (convenient for e.g. 1.0 and 0.0, which tend to appear a lot). - Integers can now use an alternative variable-length encoding: digit-based encodings. This is basically the binary equivalent of natural language digits like "420".
- You can pass a
FloatDistributionTrackerorIntegerDistributiontracker aswithAndOptionsinBitser.serialize. Afterwards, you can call theiroptimizemethods to predict which digit sizes and common values are going to be most effective for your fields.