Skip to content

Releases: revred/Sharc.Open

V1

16 Feb 15:47

Choose a tag to compare

V1 Pre-release
Pre-release

Sharc Arena V1 — Release Notes

What shipped

The Sharc Arena is a 7-page Blazor WASM conversion engine deployed at revred.github.io/Sharc/ that benchmarks Sharc (pure managed C#, ~50 KB) against SQLite (C → Emscripten P/Invoke, ~1.5 MB) and IndexedDB (browser-native) in real-time inside the browser.

Key features

  • Timed progressive cold start — live race showing Sharc vs SQLite initialization with real timing and allocation data
  • 17 benchmark slides across 4 categories (Core, Scan, Graph, Trust & Meta)
  • 13-query pipeline comparison (SELECT, WHERE, GROUP BY, UNION, CTE, parameterized)
  • 3 presets (Quick, Standard, Heavy) with per-slide density tiers
  • Trust demo — interactive ECDSA agent registration, hash-chain ledger, tamper detection
  • Dot navigation — fixed 7-dot PageNav with scroll tracking
  • Error boundary — runtime exceptions show type, message, full inner exception chain, and stack trace
  • Graceful degradation — if SQLite native init fails in WASM, Arena still loads with error details

Infrastructure

  • CI (ci.yml): Ubuntu, .NET 10, wasm-tools workload, build + 1,730 tests + Arena publish verification
  • Deploy (deploy-arena.yml): Publishes to gh-pages on push to main, wasm-tools installed, base href rewritten for /Sharc/
  • Branch protection: main is protected — all changes via PR

SQLite native stack (latest)

  • Microsoft.Data.Sqlite 10.0.3
  • SQLitePCLRaw.bundle_e_sqlite3 3.0.2
  • SourceGear.sqlite3 3.50.4.2 (SQLite 3.50.4, Sep 2025)
  • Explicit SQLitePCL.Batteries_V2.Init() for WASM compatibility

Known status

  • SQLite WASM native init: TypeInitializationException may still occur on some deployments due to Emscripten ABI mismatch between net9.0/e_sqlite3.a and .NET 10's Emscripten 3.1.56. Arena now handles this gracefully — shows the error and continues loading.
  • 96 commits on main since Jan 2025
  • 1,730 tests passing (1003 unit + 213 integration + 53 graph + 425 query + 22 index + 14 context)

What's next

  • Resolve SQLite WASM native init for full live benchmarking on deployed site
  • Live query pipeline execution (currently reference data)
  • Interactive trust demo (4-step register → append → verify → tamper)
  • Result sharing (Base64 URL, JSON/CSV export)
  • Mobile polish (44px touch targets, stacked layouts)