Skip to content

luapure v0.1.1

Pre-release
Pre-release

Choose a tag to compare

@htcom-code htcom-code released this 29 Jun 10:30
· 3 commits to main since this release
f56afe2

Performance and documentation. No API or observable-behaviour change;
conformance stays at 30/33.

Changed

  • Performance — arithmetic hot path. Inlined the monomorphic arith/bit fast
    paths (OP_ADD/SUB/MUL, the bitwise ops, and OP_ADDI): replacing the
    shared function-pointer helpers with per-op variants lets the int/float ops
    inline as direct calls. A tight float loop drops from ~2.45× to ~2.2× PUC; the
    in-repo ArithHeavyExec benchmark is ~10% faster (benchstat, no allocation
    change). Behaviour is bit-identical.
  • Performance — pattern-match allocation. string.find/match/gsub now
    recycle their matchState through a sync.Pool instead of allocating one per
    call; pattern-heavy workloads drop ~17% byte churn and ~6% of allocations.
    (string.gmatch keeps a per-call state — it escapes into the iterator.)

Documentation

  • Re-based the cross-engine benchmark table on steady-state runs: the
    tree_build/string_build workloads are sized to ~100 ms+ so fixed costs no
    longer inflate the ratios. Refreshed docs/BENCHMARKS.md, README.md, and
    ROADMAP.md (now ~1.2–1.3× on table/string, ~2.2× on a tight float loop).
  • Added a Contributor Covenant code of conduct, GitHub issue forms, and a pull
    request template.

Full changelog: v0.1.0...v0.1.1