Skip to content

v0.3.1 Performance & Scalability

Choose a tag to compare

@rainco77 rainco77 released this 19 Jan 19:53
· 1367 commits to main since this release

This release focuses on improved performance and scalability. Architectural changes to the data pipeline and storage layer enable the simulation to scale to significantly larger world sizes and longer duration.

Delta Compression

The full data pipeline has been migrated to a use configurable delta compression for environment data. This reduces the needed storage capacity by about factor 10 and thus also speeds up the data pipeline by about the same factor (depending on configuration even faster). On recent consumer hardware a simulation can now run for millions of ticks and/ or use large environment (large environments still need plenty of heap!).

Binary API & Visualizer Speedup

The environment data API has been updated to use the binary Protobuf format, replacing the previous JSON implementation. Combined with a new packed integer format for internal molecule representation, this reduces network bandwidth usage and parsing overhead. Consequently, the Web Visualizer is now significantly more responsive and capable of rendering larger environments smoothly, even the HTTP API now needs to decompress the delta compression.
Additionally the visualizer's tick navigation now allows small and big tick jumps for easier tick navigation.

Additional Improvements

  • Entropy Register Access: Two new instructions, NTR and NTRS, have been added. These allow organisms to read the current value of their Entropy Register (SR), enabling genomes to actively react to thermodynamic pressure.
  • Stability: A critical issue where organisms could enter an infinite loop of failing instructions has been resolved, ensuring consistent simulation execution.
  • Infrastructure: The internal message bus now supports configurable blocking strategies to better handle backpressure in high-load scenarios.
  • Usability: Data directories are now automatically created on startup, and the visualizer's timeline navigation has been updated to support the new chunk-based data structure.

What's Changed

Full Changelog: v0.3.0...v0.3.1


Quick Start

Java 21 is required.
Download and unpack the distribution below (zip/tar).
Run the node:

# Linux / Mac
./bin/evochora node run
# Windows
.\bin\evochora.bat node run

Open your browser:
To view the simulation, navigate to:
👉 http://localhost:8081/