HomePhabricator

rust-nodemap: input/output primitives

Authored by gracinet.

Description

rust-nodemap: input/output primitives

These allow to initiate a NodeTree from an immutable opaque
sequence of bytes, which could be passed over from Python
(extracted from a PyBuffer) or directly mmapped from a file.

Conversely, we can consume
a NodeTree, extracting the bytes that express what
has been added to the immutable part, together with the
original immutable part.
This gives callers the choice to start a new Nodetree.
After writing to disk, some would prefer to reread for
best guarantees (very cheap if mmapping), some others will
find it more convenient to grow the memory that was considered
immutable in the NodeTree and continue from there.

This is enough to build examples running on real data and
start gathering performance hints.

Differential Revision: https://phab.mercurial-scm.org/D7796

Details

Committed
gracinetFeb 18 2020, 1:11 PM
Differential Revision
D7796: rust-nodemap: input/output primitives
Parents
rHG6689cebacb32: pyoxidizer: allow extensions to be loaded from the file system
Branches
Unknown
Tags
Unknown