You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v4.0.0: Spindle binary format, mmap reads, in-memory traversal cache (#89)
Major release that replaces the marshal-based on-disk format with a new
binary format (Spindle) and reworks the storage and traversal hot paths.
On-disk format (BREAKING)
New length-addressable binary record format with a versioned file header
and per-record int64 timestamps; replaces the marshal/separator v0/v1 format.
spindle_pack: custom packer for str/int/float/bool/bytes and float arrays
(no marshal — portable and safe to load untrusted data).
Index slots shrunk from 32-byte ASCII to 8-byte int64.
Legacy v0/v1 files are no longer readable; use the migration utility.
Performance
Reads served from a read-only mmap fast path; writes go through the fd.
StoreCache LRU caches decoded records (not raw bytes) with optional
cross-table shared cache.
MemoryView: in-memory adjacency cache for traversals with demand paging
(use_memory_view, on by default).
v(..., track_paths=False) for faster set-based multi-hop traversal.
Graph edge keys use a 1-byte direction prefix instead of a string suffix.
Migration
cog.migrate.migrate(path) converts 3.x databases in place, rewriting graph
edge keys so migrated graphs stay traversable. Originals kept as .v3_backup.
This discussion was created from the release 4.0.0rc1.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Release candidate for v4.0.0
v4.0.0: Spindle binary format, mmap reads, in-memory traversal cache (#89)
Major release that replaces the marshal-based on-disk format with a new
binary format (Spindle) and reworks the storage and traversal hot paths.
On-disk format (BREAKING)
and per-record int64 timestamps; replaces the marshal/separator v0/v1 format.
(no marshal — portable and safe to load untrusted data).
Performance
cross-table shared cache.
(use_memory_view, on by default).
Migration
edge keys so migrated graphs stay traversable. Originals kept as .v3_backup.
This discussion was created from the release 4.0.0rc1.
All reactions