Skip to content

Silex v0.47.1

Latest

Choose a tag to compare

@github-actions github-actions released this 25 Sep 08:03

Why upgrade?

This release reduces small-allocation costs in native Windows programs on
both ARM64 and x64. The default backend remains native on all six platforms;
language and ownership semantics are unchanged.

Changes

  • The Windows ARM64 and x64 native backend uses the system heap for strings,
    collections, classes, and copy/collection callbacks instead of reserving
    virtual memory per allocation. Adapters preserve scratch and SIMD registers;
    value and ownership semantics remain unchanged.
  • Distribution qualification now checks allocation, copying and cycles, then
    fixed work in Debug and Release, on every native target. Measurements remain
    separate from correctness tests.
  • The historical 0.47.0 notes distinguish shared changes, target-specific
    mechanisms and the actual scope of measurements.

The fixed-work diagnostic
compares the Windows candidate with 0.47.0 on the same host, with twelve Release
samples per configuration: medians move from 146.25 to 11.69 ms on x64 and from
178.10 to 14.94 ms on ARM64. These results include process startup and do not
predict application-level speedups. Linux and macOS x64 retain their existing
allocation paths; their extension remains unfinished and no gain is claimed.

Impact and migration

Recompile Windows programs to use the new allocator. No source migration or
backend change is required.