v0.7.1-beta-hotfix1
clockworklabs/SpacetimeDBv0.7.1-beta-hotfix1Oct 19, 2023by cloutiertyler
AI Summary
A performance-focused release improving iteration speed and reducing memory overhead.
Key Highlights
- 5x performance improvements in certain cases while iterating.
- Improved performance tracking capabilities.
- Reduced cloning of data structures like Header.
- Incremental Evaluation of JOIN queries.
New Features
- Performance improvements for iteration and joins
- Refactoring for reduced cloning
Full Release Notes
We've got another update for you all! This is a quick follow up to our past release we substantially improves performance by moving closer towards our planned memory architecture overhaul. The main highlights are below! ## Highlights - 5x performance improvements in certain cases while iterating from inside your module - Improved performance tracking - General bug fixes and performance improvements ## What's Changed * Add some comments to `FutureQueue` and the `subscribe` route by @gefjon in https://github.com/clockworklabs/SpacetimeDB/pull/378 * SATS: misc refactoring by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/382 * `build_csharp`: ensure project path exists by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/380 * Reduce cloning of `Header` & co by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/384 * Extract `ArrayValue`, `ArrayType`, `MapValue`, `MapType` to own files by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/387 * Simplify the `encoding_roundtrip` tests by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/385 * Move the two `Box`es in `MapType` to one in `BuiltinType` by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/388 * Flatten `BuiltinValue` into `AlgebraicValue` by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/389 * Get benchmarks type checking again by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/392 * Refactor `locking_tx_datastore` tests by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/393 * More `AlgebraicType` conversions + use `derive_more::From` more by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/395 * Dedup some `locking_tx_datastore` tests by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/394 * Bump log up to trace in the hopes of catching the "identity not yet received" thing by @gefjon in https://github.com/clockworklabs/SpacetimeDB/pull/314 * feat(397): Add min and max value helpers for builtin types by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/398 * Benchmark modules in release mode by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/396 * Add a section to the PR template requiring an estimate of complexity and risk by @gefjon in https://github.com/clockworklabs/SpacetimeDB/pull/407 * Less `BuiltinType` by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/405 * Run Clippy first and share profile by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/413 * Compile benchmarks in separate folder by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/411 * Switch to using imported module idents for marking version requirements by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/335 * Bump C# version for release by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/416 * Put out benchmark fires by @kazimuth in https://github.com/clockworklabs/SpacetimeDB/pull/404 * Switch cursive to cross-platform backend by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/412 * Simplify and document WasmInstanceEnv's interface by @kulakowski in https://github.com/clockworklabs/SpacetimeDB/pull/422 * test(414): multi-column index scan by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/415 * 🐮 Optimize `decode_column` and friends using `Cow` 🐮 by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/424 * fix(428): Return only one message per table in subscription by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/429 * Reuse Wasm-side buffer while reading iterators by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/435 * Collect iterator into chunks early by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/433 * Fix authorization check for CrudCode by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/431 * Incremental Evaluation of JOIN queries by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/425 * Improve benchmark result reporting by @kazimuth in https://github.com/clockworklabs/SpacetimeDB/pull/357 * [ABI] Remove the special first element of iterator by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/420 * Run docker build on tags too by @drogus in https://github.com/clockworklabs/SpacetimeDB/pull/421 * Optimise binaries with wasm-opt by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/423 * Debugging info for odb / mlog inconsistencies by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/438 * Track time spent in each wasm instance env call by @kulakowski in https://github.com/clockworklabs/SpacetimeDB/pull/427 * Prometheus stuff by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/301 * Version upgrade: v0.7.1-beta by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/441 **Full Changelog**: https://github.com/clockworklabs/SpacetimeDB/compare/v0.7.0-beta...v0.7.1-beta-hotfix1