Closed alex-sparus closed 2 months ago
:warning: Please install the to ensure uploads and comments are reliably processed by Codecov.
Attention: Patch coverage is 96.89922%
with 4 lines
in your changes missing coverage. Please review.
Project coverage is 90.54%. Comparing base (
bd9f318
) to head (646315e
). Report is 114 commits behind head on master.
Files with missing lines | Patch % | Lines |
---|---|---|
test/oss-fuzz/flex-vector-st-0.cpp | 96.15% | 4 Missing :warning: |
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Alright! Thank you for all this work!
Structural sharing is traditionally preserved in memory only. When serializing multiple values to disk, these are linearized—for example, by writing out sequences as JSON arrays—losing whatever sharing may exist between these values. A similar thing happens when transforming data structures (as with
std::transform
or a functionalmap()
)Here we introduce an experimental module
immer::persist
that enables the serialization of pools of containers while preserving structural sharing. With it, we can also do in-memory transformation over large sets of data that considers and preserves structural sharing. This is novel technique, not present in any other implementation of persistent data structures. It has a few use-cases inside BRONZE.