Serialization
A lone shard's monolith is the same bytes the path-taking sibling writes into its own mapping. Several shards write the manifest first, listing each part by its offset inside the buffer, then every part on the header's alignment, each with its shard's own node IDs, so a load opens one shard per part again. A caller who needs the bytes in memory it already owns, such as a mapped file, saves to a path instead. A VRAM handle's checkpoint is written in device memory, written on the host first, so the call holds twice its bytes while it runs.
Writing to memory is not writing quickly. A terabyte checkpoint on a handful of cores runs for minutes, so this reports and cancels like its path-taking sibling, and a cancelled call leaves monolith->data NULL.
Demands a mutation-free window; concurrent readers keep searching throughout.
A lone shard's monolith is the same bytes usearch_geospatial_save writes. Several shards write the manifest first, listing each part by its offset inside the buffer, then every part on the header's alignment, each with its shard's own node IDs, so a load opens one shard per part again. A cancelled call leaves monolith->data NULL.
Demands a mutation-free window; concurrent readers keep searching throughout.
A lone shard's monolith is the same bytes usearch_sequence_save writes. Several shards write the manifest first, listing each part by its offset inside the buffer, then every part on the header's alignment, each with its shard's own node IDs, so a load opens one shard per part again. A cancelled call leaves monolith->data NULL.
Demands a mutation-free window; concurrent readers keep searching throughout.
A lone shard's monolith is the same bytes usearch_shapes_save writes. Several shards write the manifest first, listing each part by its offset inside the buffer, then every part on the header's alignment, each with its shard's own node IDs, so a load opens one shard per part again. A cancelled call leaves monolith->data NULL.