Skip to content

landing: v0.4.0, the measured corpus figure, and parse speed stated honestly - #7

Merged
tannevaled merged 1 commit into
mainfrom
wave34-docs-go-ruby-parser.github.io
Sep 26, 2026
Merged

tannevaled merged 1 commit into
mainfrom
wave34-docs-go-ruby-parser.github.io

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

Re-measured 2026-09-26 against MRI 4.0.5 on the same host (darwin/arm64).

Version. The site named v0.2.0 · 2026-09-21 in three places (a pill, the prose, and a tag link). The real latest tag is v0.4.0, cut 2026-09-26; main is exactly that tag.

A count that was wrong in a checkable way. The page said "every one of the 68 files in the pinned ruby/spec language/ corpus now parses". The claim is right in substance but wrong in its denominator: the pinned corpus has 80 _spec.rb files under language/, and go-ruby-parser parses all 80. Measured by calling parser.Parse on each. A reader who counted the corpus would have found 80 and been left unsure which number to trust.

Added a second completeness figure that is cheap to re-check: of 47 top-level CRuby 4.0.5 stdlib files MRI accepts, this parser accepts 46.

Added parse speed — the landing page said nothing about it, while the repository README claimed this parser beats CRuby's C parser. That claim did not reproduce, so rather than leave the site silent and the README wrong, the site now states the measured position: on 46 real stdlib files both engines accept, roughly 1.9× quicker than Ripper.sexp and about 1.6× slower than RubyVM::AbstractSyntaxTree.parse, CRuby's own C parser. The README's figures are corrected in go-ruby-parser/parser#36, which carries the full table.

Updated the repo card blurb in hugo.toml to match, and to name the one remaining grammar gap (BEGIN { } / END { }) instead of the three limitations that now parse.

🤖 Generated with Claude Code

…onestly

- The site named v0.2.0 (2026-09-21) in three places. The real latest tag is v0.4.0,
  cut 2026-09-26; main is exactly that tag.

- "every one of the 68 files in the pinned ruby/spec language/ corpus now parses" was
  right in substance but wrong in its count: the pinned corpus has 80 _spec.rb files
  under language/, and go-ruby-parser parses all 80. Measured here by calling
  parser.Parse on each.

- Added a second completeness figure a reader can check: of 47 top-level CRuby 4.0.5
  stdlib files MRI accepts, this parser accepts 46.

- Added parse speed, because the repository README's figures did not reproduce. On 46
  real stdlib files both engines accept: ~1.9x quicker than Ripper.sexp, and about
  1.6x slower than CRuby's own C parser. The landing page previously said nothing
  about speed, and the README's claim to beat the C parser is corrected in its own PR.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tannevaled
tannevaled merged commit 933345a into main Sep 26, 2026
2 checks passed
@tannevaled
tannevaled deleted the wave34-docs-go-ruby-parser.github.io branch September 26, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant