Skip to content

Ghi v0.2.3

Choose a tag to compare

@arm092 arm092 released this 26 Sep 22:26
· 34 commits to master since this release

Ghi v0.2.3

This release focuses on runtime and build performance. Mojave remains independently versioned at v0.1.0.

Faster classes and exceptions

  • Specialize concrete receivers for leaf classes and small inherited methods within the same namespace, while preserving virtual dispatch, parent, aliases and source locations. Debug builds retain their original receiver representation.
  • Cache bounded, immutable stack descriptions while giving each exception its own mutable frames. Capture cacheable stacks in one traversal and allocate frame objects together.
  • Preserve complete deep stacks, original traces on rethrow and user-supplied traces. Exceptions still capture their throw location immediately.
  • In local Windows/Go 1.26.3 microbenchmarks, the 96-recursion exception fixture decreased from about 22.2 to 5.12 microseconds after the combined changes. These warmed measurements do not predict first-throw latency or all applications.

Faster builds

  • Load external Go export metadata in one request instead of repeated go list calls. Dependency integrity checks and compiler validation remain enabled.
  • On the DDD example, an unchanged build decreased from 6.66 to 4.05 seconds. A separate empty-Go-cache observation decreased from 40.68 to 16.53 seconds. Results depend on the machine and cache state.

Application measurements

Added a reproducible localhost HTTP/SQLite comparison using the real Ghi DDD server and a Go counterpart for the measured users routes. All 720,000 measured responses passed status and byte-for-byte JSON validation. List throughput was similar; successful single-user reads were about 3–8% lower for Ghi in this setup. Single-client not-found requests were about 13% lower, with Ghi capturing exception stacks and Go returning ordinary errors. The benchmark uses one SQLite connection and is not a production capacity estimate.

See the README performance section for source, raw samples and limitations.

Downloads and verification

  • Portable archives: Windows x64/ARM64 and macOS Intel/Apple silicon, each bundling Ghi and Mojave with checksums, installers and license notices.
  • Windows setup executable with its SHA-256 sidecar.
  • Homebrew formula updated to the release source archive.
  • Full compiler/language/CLI/toolchain/debugger tests, benchmark correctness checks, release-binary project creation/execution and DDD tests were run on Windows amd64.
  • macOS binaries are cross-compiled. Native macOS/Homebrew checks remain deferred; no new .pkg is included. The installer is unsigned. Windows ARM64 execution was not verified on native hardware.