Repository navigation
Sley 2.1.4
Sley 2.1.4 is a point release. The VM's compact scalar plan runs loops faster: the loop benchmarks are 1.56-1.95x faster than in 2.1.3, and call-bound fib(30) is unchanged. Sley is still about 1.9-2.7x slower than CPython 3.13 on every program measured. Fuel and instruction counts are identical to 2.1.3. The Python dialect now takes pytest-style tests and @dataclass records in the same file. In a scripted token-count harness, a write-test-fix loop in the dialect costs 1.10x, 1.08x and 0.73x the tokens of the same loop in Python.
Release notes · Benchmarks · Token cost · Quickstart
Changes
- Faster scalar loops (#49): registers joined by block edges share slots, so most edge moves disappear. Runs of steps between calls are charged fuel in prepaid batches with exactly the same totals. 64-bit word results are built in one store. Fuel, instructions and value units are identical to
call --reference. - Inline pytest-style tests and record classes (#50):
def test_*():functions ofassertlines andwith pytest.raises(E):become TestCases, so onetry --familiarcompiles and tests the file.@dataclassclasses of annotated fields declare record types. - Shorter
tryoutput (#50, #51): a passingtryprints one line andnext:. Failing tests name their source line.pytest.raises(E)is checked statically; at run time any trap still satisfies it.--jsonis unchanged. bench/token-cost: the scripted harness behind the token table.
Benchmarks (wall ms, hyperfine median, release musl binaries, same session)
| benchmark | Sley 2.1.3 | Sley 2.1.4 | CPython 3.13.5 | PyPy 7.3.19 | Lua 5.4.7 | LuaJIT 2.1 | Node 22.23 | Ruby 3.3.8 |
|---|---|---|---|---|---|---|---|---|
| fib 30 | 207 | 209 | 79 | 163 | 38 | 8.0 | 28 | 94 |
| loopsum 1e6 | 181 | 117 | 52 | 20 | 8.6 | 8.6 | 32 | 67 |
| collatz 5000 | 137 | 71 | 30 | 19 | 8.0 | 2.4 | 20 | 52 |
| primes 30000 | 143 | 84 | 36 | 19 | 7.7 | 2.4 | 20 | 56 |
| gcdsum 400 | 132 | 71 | 37 | 60 | 12 | 6.1 | 27 | 62 |
| fib 1 (startup) | 1.6 | 1.7 | 9.2 | 15 | 0.6 | 0.5 | 17 | 39 |
These are development measurements on one 8-vCPU cloud VM, pinned to one vCPU, with 2 warmups and at least 10 runs. They are not a GA claim. The method, ranges and raw records are in the release notes.
Token cost of a write-test-fix loop (o200k_base, 9 tasks)
| scenario | Python (pytest) | Sley 2.1.3 dialect | Sley 2.1.4 dialect, inline tests |
|---|---|---|---|
| clean | 1338 | 4317 (3.23x) | 1473 (1.10x) |
| logic bug | 2690 | 6747 (2.51x) | 2916 (1.08x) |
| typo | 3933 | 6239 (1.59x) | 2873 (0.73x) |
These are scripted tokenizer counts, not model spend. The Python form uses a separate test file. The one-time guide read (help python, 407 tokens) is excluded. The native and JSON forms are still heavier: familiar syntax is 2.55x/1.91x/1.23x of Python and AF1-X JSON 2.02x/1.66x/1.08x.
Kernel, SSMC1, SCB1, SMP1 rules, the instruction set, admission and commit semantics are unchanged. No third-party dependency was added. The native test supervisor is still source only: committing a candidate that selects TestCases still refuses with TXN_TEST_EVIDENCE_UNSUPPORTED.
Two maintainer checks, check_candidate_result_contract.py and check_transaction_contract.py, were waived for this release. The waiver is carried forward from the 2.1.2 operator decision; the operator has not re-confirmed it. The checks need the Sley 2.0 master goal, which is unavailable off the maintainer host. This is not a pass. The persistent-fuzz proofs use the documented toolchain override (Debian clang 18.1.8), as in 2.1.2 and 2.1.3.
Linux x86_64
sley-2.1.4-linux-x86_64.tar.gz contains static musl sley and sley-agent binaries. It was built from a043a1b8355120e22b08f126fedf02d17a16fded; two clean builds on the primary host produced identical archives.
- Size: 7,698,959 bytes; 17 archive members
- SHA-256:
91364bac4864f001640df127836af18e7bf88fa3131d6c203e7edb8d27de5cf1
sha256sum -c SHA256SUMS
tar xzf sley-2.1.4-linux-x86_64.tar.gz
cd sley-2.1.4-linux-x86_64
./bin/sley version
./bin/sley-agent help python
python3 demo/run_demo.pyga_claimed remains false. Cross-host reproducibility is not claimed, and provenance is unsigned.