Repository navigation
Conversation
cmd.exe has no /dev/null or mkdir -p, and PATH entries are separated with ";". With ":", a benchmarked Ruby that is not the first ruby on PATH never got its directory in front, and the first existing entry was broken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nothing on Windows removes the backslashes Shellwords adds, so an option such as --yjit-call-threshold=1 reached Ruby as --yjit-call-threshold\=1 and YJIT rejected it. The PATH override also used ":" as the separator. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Windows has no fork, no /dev/null or /dev/zero, and no shebang execution of bin/rails. There knucleotide computes its workers sequentially and gvl_release_acquire reads a regular file, so neither is comparable with Linux. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
hsbt
force-pushed
the
claude/elegant-neumann-d38e2c
branch
4 times, most recently
from
October 7, 2026 11:55
4fe1373 to
817cf58
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
YJIT now works on mswin, so I'd like to evaluate it with ruby-bench. I plan to open two PRs. This one mainly makes code that hard-codes POSIX behavior portable, and none of it is specific to Windows.
File::PATH_SEPARATORinstead of:File::NULLinstead of/dev/nullFileUtils.mkdir_pinstead ofmkdir -pshelljoin-ed string, so Shellwords escapes such as\=never reach Rubyknucleotideworkers sequentially whereProcess.forkis unavailablegvl_release_acquirewhen/dev/zerois missingruby bin/railsinrailsbenchinstead of relying on the shebangWhere these fallbacks apply,
knucleotideandgvl_release_acquiremeasure something different from Linux, so they should be left out of comparisons with Linux. Comparing two builds on the same machine is unaffected.After this is merged, I will open a PR with the mswin-specific changes.
Generated with Claude Code