Skip to content

feat: SuperCache Lab interactive explorer - #49

Merged
Code0987 merged 1 commit into
mainfrom
feat/interactive-lab
Sep 7, 2026
Merged

Code0987 merged 1 commit into
mainfrom
feat/interactive-lab

Conversation

@Code0987

@Code0987 Code0987 commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • SuperCache Lab (examples/lab): React + Vite explorer for every keyspace mode, with a 3-node canvas and attach-to-remote cache gRPC.
  • Read-only Engine.LocalView / BloomDump plus bloom.Indexes so the UI can show owner/replica/tombstone and the Bloom bit grid.
  • Default go run ./examples/lab is UI-only (no mesh); -cluster or the in-page Connect / Local 3-node control starts or attaches a backend.

Test plan

  • go test ./pkg/engine ./examples/lab
  • go test ./... (local, before UI polish)
  • CI test + bench; read <!-- supercache-bench-comment --> (Get-hit allocs flat, shared cells ±10%)

Add an in-process/remote visual lab (React + Vite) that walks keyspace
modes on a 3-node mesh, plus read-only Engine.LocalView / BloomDump.
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

SuperCache bench vs main

Both sides ran once on this same GitHub runner (main, then this PR). Not a merge gate.

Baseline: 02d0b31 (2026-09-07T09:47:39Z) → this run: 02d0b31 (2026-09-07T09:46:55Z)

scbench smoke

cell ops/s (main → PR) Δ ops/s p50 p99
get/hit n=1 c=1 uniform 11850 → 11887 +0.3% 84µs → 84µs 145µs → 145µs
get/hit n=1 c=10 uniform 44943 → 44967 +0.1% 204µs → 204µs 595µs → 600µs
get/hit n=3 c=10 uniform 51578 → 51888 +0.6% 171µs → 170µs 661µs → 650µs
miss/miss-cacheonly n=1 c=1 uniform 11593 → 11566 -0.2% 85µs → 85µs 162µs → 161µs
miss/miss-cacheonly n=1 c=10 uniform 46660 → 45392 -2.7% 196µs → 199µs 612µs → 641µs
set/put n=1 c=1 uniform 11262 → 11438 +1.6% 87µs → 86µs 156µs → 150µs
set/put n=1 c=10 uniform 42973 → 43820 +2.0% 213µs → 209µs 637µs → 616µs

Δ ops/s: green-ish is higher throughput. Latency: lower is better.

go test -bench (ns/op)

benchmark ns/op (main → PR) Δ allocs/op
BenchmarkEngineDelete 604 → 585 -3.2% 6 → 6
BenchmarkEngineGetHit 914 → 914 +0.0% 15 → 15
BenchmarkEngineGetHitParallel 963 → 961 -0.2% 15 → 15
BenchmarkEngineGetMissCacheOnly 661 → 655 -0.9% 14 → 14
BenchmarkEngineGetMissCacheOnlyParallel 532 → 518 -2.7% 14 → 14
BenchmarkEngineGetMissLoadThrough 1272 → 1258 -1.1% 24 → 24
BenchmarkEngineGetMissLoadThroughParallel 1411 → 1407 -0.3% 23 → 23
BenchmarkEnginePut 1200 → 1185 -1.2% 18 → 18
BenchmarkEnginePutParallel 1070 → 1115 +4.2% 18 → 18
BenchmarkStoreBitSet 89 → 87 -1.7% 1 → 1
BenchmarkStoreCGetHit 56 → 56 +0.4% 0 → 0
BenchmarkStoreCIncr 79 → 79 +0.6% 1 → 1
BenchmarkStoreCMSIncr 94 → 94 +0.5% 0 → 0
BenchmarkStoreCMSIncrN 93 → 93 +0.1% 0 → 0
BenchmarkStoreGeoAdd 7450 → 7401 -0.7% 2 → 2
BenchmarkStoreGeoPosHit 68 → 69 +0.6% 0 → 0
BenchmarkStoreGeoPosMiss 67 → 67 -0.3% 0 → 0
BenchmarkStoreGetHit 226 → 228 +1.0% 2 → 2
BenchmarkStoreGetHitParallel 271 → 276 +1.8% 2 → 2
BenchmarkStoreHGetHit 71 → 71 +0.3% 1 → 1
BenchmarkStoreHGetMiss 66 → 66 +0.1% 0 → 0
BenchmarkStoreHLLAdd 77 → 79 +2.3% 0 → 0
BenchmarkStoreHSet 8251 → 8491 +2.9% 3 → 3
BenchmarkStoreJsonSet 20240 → 21173 +4.6% 207 → 207
BenchmarkStorePut 235 → 242 +2.9% 2 → 2
BenchmarkStorePutParallel 272 → 274 +0.7% 2 → 2
BenchmarkStoreSetAdd 7176 → 7299 +1.7% 2 → 2
BenchmarkStoreSetContainsHit 67 → 68 +1.6% 0 → 0
BenchmarkStoreSetContainsMiss 65 → 66 +0.7% 0 → 0
BenchmarkStoreTopKAdd 772 → 778 +0.8% 20 → 20
BenchmarkStoreVAdd 83669 → 85250 +1.9% 514 → 513
BenchmarkStoreVSim 73780 → 71723 -2.8% 530 → 530
BenchmarkStoreZAdd 7419 → 7592 +2.3% 2 → 2
BenchmarkStoreZScoreHit 67 → 67 +1.1% 0 → 0
BenchmarkStoreZScoreMiss 67 → 67 +0.9% 0 → 0

Posted by CI bench job. Not a merge gate.

@Code0987
Code0987 merged commit b7574b9 into main Sep 7, 2026
2 checks passed
@Code0987
Code0987 deleted the feat/interactive-lab branch September 7, 2026 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant