Skip to content

Aether 0.470.0

Choose a tag to compare

@github-actions github-actions released this 31 Jul 19:59
Immutable release. Only release title and notes can be modified.
1236103

What's new in 0.470.0

Fixed

  • Benchmark runner reported a negative cv_pct (#1352). The
    coefficient of variation was computed as (best - worst) * 50 / mean in
    32-bit int, so for the fastest patterns (skynet and counting run in the
    hundreds of millions of msg/sec) the multiply overflowed before the
    divide and the result came out negative, on exactly the numbers most
    likely to be quoted. Span, mean and CV are now 64-bit, the run
    accumulator is too (five runs at 250M already approach the int32
    ceiling and BENCH_RUNS is user-settable), and a negative value is
    refused rather than published, since a coefficient of variation cannot
    be negative. docs/performance-benchmarks.md states the guarantee.
  • Constant folding did not preserve runtime semantics for int, which
    is what let the overflow above hide during development. The folder
    evaluates in double, so (250000000 - 200000000) * 50 / 225000000
    folded to 11 while the same expression over int variables evaluated
    to -7: the literal form looked correct. The fold now wraps exactly as
    the runtime does and reports the overflow (new warning[W1003], with
    the exact value, the wrapped value, and how to widen). No code in the
    tree trips it.
  • benchmarks/http/baseline_results.txt was committed containing only a
    header
    (#1353). The harness writes the header, starts the server, then
    measures; the server had failed to start, set -e exited, and the stub
    was committed. The generated file is removed from the tree and
    gitignored (it is machine-specific), and both HTTP harnesses now
    preflight wrk before building anything, write to a temp file and
    publish only on success (so an interrupted run leaves no truncated
    artifact), and report the actual cause when the server cannot start
    instead of a bare "failed".

Downloads

Platform Architecture File Notes
Linux x86_64 aether-0.470.0-linux-x86_64.tar.gz
macOS x86_64 aether-0.470.0-macos-x86_64.tar.gz
macOS arm64 aether-0.470.0-macos-arm64.tar.gz
Windows x86_64 aether-0.470.0-windows-x86_64.zip

Quick install

Linux / macOS

# Download the archive for your platform, then:
tar -xzf aether-0.470.0-<platform>.tar.gz
export PATH="$PWD/bin:$PATH"
ae version

Windows

Extract the .zip archive, then run bin\ae.exe version from the extracted folder.


Documentation: https://github.com/aether-lang-org/aether#readme