Repository navigation
Releases: blue-tarpaulin/dmfast
Release list
dmfast 6.1.0
Robusts BYOND's toolchain.
6.1.0 Changes
- New fix:
dbclose(safe) backports BYOND 516.1670's/databasefix to older builds, where reusing a closed database crashed stock BYOND and silently corrupted memory under dmfast's allocator. - Fixed:
dm -oanddm -code_treecould crash: they compile twice in one process, and the proto index still pointed into memory the first compile had freed. - Fixed: the
pickweightfix 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
callreffix now also covers the other failedcall()s: a null, number or datum callee,arglist()or named arguments, andcall_ext()libraries. - Fixed: the
macrospacefix brokec ? MACRO:b; a single:after a macro keeps its space again. - Fixed: with
tick0, the extra/world/Tickat time 0 saw a hugeworld.tick_usage. - Fixed: on Linux, with
inodes, areaddirentry could be overwritten by later reads of other directories on the same thread. - Fixed: with the
tickinitortick0fix 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
- Close BYOND.
- Download
dmfast-install.exebelow. - Run it on your BYOND
binfolder (or dragdm.exeonto it). It speeds up the compiler and DreamDaemon; add--no-runtimeto 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
Robusts BYOND's toolchain.
6.0.1 Changes
- Fixed: on Linux, the
callreffix brokecall("name")(...): every call by name failed with "bad proc". num2sigmoves to thebreakingtier: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
- Close BYOND.
- Download
dmfast-install.exebelow. - Run it on your BYOND
binfolder (or dragdm.exeonto it). It speeds up the compiler and DreamDaemon; add--no-runtimeto 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
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.safeorextendedis recommended. See BUGFIXES.md.
- For example,
- 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
- Close BYOND.
- Download
dmfast-install.exebelow. - Run it on your BYOND
binfolder (or dragdm.exeonto it). It speeds up the compiler and DreamDaemon; add--no-runtimeto 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
Robusts BYOND's toolchain.
5.0.0 Changes
- DreamDaemon is sped up by default. The installer now patches DreamDaemon too; pass
--no-runtimeto 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.dllis no longer installed; upgrading removes it. - Sorted maps: the
sortmergekey is gone;DMFAST_DISABLE=sortmapnow turns off both the merge and the insert patch. - Removed: DreamDaemon's
.dmbread buffer, which measured no gain. The compiler'sdmbbufstays.
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
- Close BYOND.
- Download
dmfast-install.exebelow. - Run it on your BYOND
binfolder (or dragdm.exeonto it). It speeds up the compiler and DreamDaemon; add--no-runtimeto 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