clockworklabs / clockworklabs/SpacetimeDB

Read-through cache in WASM memory for tables holding static data

Open
#5,212 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature-request
Dominant language
Rust
Stars
25.2k
Forks
1.1k
Avg merge
2d 7h
Merged PRs (30d)
46

Description

Let us opt-in to a specific table behavior where data is read-through cached in WASM memory, and held between reducer invocations. This would be used for mostly-static data like navmesh data, terrain heightmap data, collider data, etc.

It would even be ok if this means writes to these tables become extremely slow in order to invalidate caches in all the WASM instances, because these tables would almost never be written to.

Requested by @JanErikFoss via the SpacetimeDB site.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or implementation entry points are named. Start by locating table behavior, WASM memory management, and reducer invocation boundaries, then determine how an opt-in read-through cache and invalidation across WASM instances would be specified and tested; done means static-table reads persist between invocations while writes invalidate affected cached data.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, wasm
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.