Skip to content

Releases: blue-tarpaulin/dmfast

dmfast 6.1.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 00:28

Robusts BYOND's toolchain.

6.1.0 Changes

  • New fix: dbclose (safe) backports BYOND 516.1670's /database fix to older builds, where reusing a closed database crashed stock BYOND and silently corrupted memory under dmfast's allocator.
  • Fixed: dm -o and dm -code_tree could crash: they compile twice in one process, and the proto index still pointed into memory the first compile had freed.
  • Fixed: the pickweight fix missed many picks whose last weight is 0, e.g. pick(1;"a", 1;"b", 1;"c", 1;"d", 0;"e") still crashed the world.
  • Fixed: the callref fix now also covers the other failed call()s: a null, number or datum callee, arglist() or named arguments, and call_ext() libraries.
  • Fixed: the macrospace fix broke c ? MACRO:b; a single : after a macro keeps its space again.
  • Fixed: with tick0, the extra /world/Tick at time 0 saw a huge world.tick_usage.
  • Fixed: on Linux, with inodes, a readdir entry could be overwritten by later reads of other directories on the same thread.
  • Fixed: with the tickinit or tick0 fix on, starting byond-tracy crashed DreamDaemon on the first tick.
  • The DM test suite runs about 10× faster and finishes on Windows. A stock crash that dmfast hides fails the run unless it is a known BYOND bug fixed in later builds (then a warning).

Credit to Absolucy for finding most of these issues.

tgstation on BYOND 516.1688

Windows Linux
Compile 6.3x faster 7.8x faster
DreamDaemon world load 6.3x faster 4.6x faster

Automatically measured on this release's GitHub Actions runners; your gains depend on your computer and codebase.

Install

  1. Close BYOND.
  2. Download dmfast-install.exe below.
  3. Run it on your BYOND bin folder (or drag dm.exe onto it). It speeds up the compiler and DreamDaemon; add --no-runtime to leave DreamDaemon stock.

On Linux: sh dmfast-install.exe ~/byond/bin

Verify

gh attestation verify dmfast-install.exe -R blue-tarpaulin/dmfast

Full Changelog: v6.0.1...v6.1.0

dmfast 6.0.1

Choose a tag to compare

@github-actions github-actions released this 16 Oct 08:57

Robusts BYOND's toolchain.

6.0.1 Changes

  • Fixed: on Linux, the callref fix broke call("name")(...): every call by name failed with "bad proc".
  • num2sig moves to the breaking tier: num2text(N, 100), used to print ids exactly, became a 100-digit string.
  • CI runs regression tests and the DM test suite (spacestation13/dm-test-suite) against stock BYOND and dmfast.

tgstation on BYOND 516.1688

Windows Linux
Compile 6.6x faster 7.8x faster
DreamDaemon world load 5.6x faster 4.6x faster

Automatically measured on this release's GitHub Actions runners; your gains depend on your computer and codebase.

Install

  1. Close BYOND.
  2. Download dmfast-install.exe below.
  3. Run it on your BYOND bin folder (or drag dm.exe onto it). It speeds up the compiler and DreamDaemon; add --no-runtime to leave DreamDaemon stock.

On Linux: sh dmfast-install.exe ~/byond/bin

Verify

gh attestation verify dmfast-install.exe -R blue-tarpaulin/dmfast

Full Changelog: v6.0.0...v6.0.1

dmfast 6.0.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 18:45

Robusts BYOND's toolchain.

6.0.0 Changes

  • Opt-in bug fixes: dmfast now has 20+ fixes for BYOND bugs which are off unless you turn them on.
    • For example, dmfast-install --fixes safe. safe or extended is recommended. See BUGFIXES.md.
  • Guided install: double-click the installer (or run it bare in a Linux term) to set it up step by step.

tgstation on BYOND 516.1688

Windows Linux
Compile 6.7x faster 7.8x faster
DreamDaemon world load 5.5x faster 4.8x faster

Automatically measured on this release's GitHub Actions runners; your gains depend on your computer and codebase.

Install

  1. Close BYOND.
  2. Download dmfast-install.exe below.
  3. Run it on your BYOND bin folder (or drag dm.exe onto it). It speeds up the compiler and DreamDaemon; add --no-runtime to leave DreamDaemon stock.

On Linux: sh dmfast-install.exe ~/byond/bin

Verify

gh attestation verify dmfast-install.exe -R blue-tarpaulin/dmfast

Full Changelog: v5.0.0...v6.0.0

dmfast 5.0.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 07:58

Robusts BYOND's toolchain.

5.0.0 Changes

  • DreamDaemon is sped up by default. The installer now patches DreamDaemon too; pass --no-runtime to leave it stock.
  • Less memory: dmfast's allocator now uses mimalloc only for small blocks and the system heap for larger ones: about 100 MB less on a large world load, same speed. mimalloc-redirect32.dll is no longer installed; upgrading removes it.
  • Sorted maps: the sortmerge key is gone; DMFAST_DISABLE=sortmap now turns off both the merge and the insert patch.
  • Removed: DreamDaemon's .dmb read buffer, which measured no gain. The compiler's dmbbuf stays.

tgstation on BYOND 516.1688

Windows Linux
Compile 7.2x faster 8.1x faster
DreamDaemon world load 6.1x faster 4.7x faster

Automatically measured on this release's GitHub Actions runners; your gains depend on your computer and codebase.

Install

  1. Close BYOND.
  2. Download dmfast-install.exe below.
  3. Run it on your BYOND bin folder (or drag dm.exe onto it). It speeds up the compiler and DreamDaemon; add --no-runtime to leave DreamDaemon stock.

On Linux: sh dmfast-install.exe ~/byond/bin

Verify

gh attestation verify dmfast-install.exe -R blue-tarpaulin/dmfast

Full Changelog: https://github.com/blue-tarpaulin/dmfast/commits/v5.0.0