| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Bumps [which](https://github.com/harryfei/which-rs) from 8.0.5 to 8.0.6. - [Release notes](https://github.com/harryfei/which-rs/releases) - [Changelog](https://github.com/harryfei/which-rs/blob/master/CHANGELOG.md) - [Commits](harryfei/which-rs@8.0.5...8.0.6) --- updated-dependencies: - dependency-name: which dependency-version: 8.0.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
Sorry, something went wrong.
|
Important Review skippedBot user detected. To trigger a single review, invoke the @coderabbitai review command. ⚙️ Run configuration
You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file. Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. ❤️ ShareComment @coderabbitai help to get the list of available commands. |
Sorry, something went wrong.
Merging this PR will improve performance by 11.1%⚡ 1 improved benchmark Performance Changes
Tip Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent. Comparing dependabot/cargo/which-8.0.6 (da49a23) with main (3e0e401) Footnotes
|
Sorry, something went wrong.
|
@codspeedbot explain why performance improved |
Sorry, something went wrong.
Why rustpython[loop_string.py] improved by 11.1%Short answer: it's measurement noise, not a real speedup. The which bump didn't cause it. The PR head is at the usual level for this benchmark, and the main baseline it was compared against (3e0e401) happened to be a slow run. This PR doesn't touch the benchmarked code
This benchmark moves around on main tooRecent main commits, measured in Simulation mode:
The PR head matches the usual ~845 µs. The base is the highest value in the window. Where the difference shows up in the profileComparing the two flamegraphs, almost all of the 93.6 µs difference is in one function:
Everything else is identical to within a few hundred ns, including ExecutingFrame::run self time, execute_for_iter, PyStrIterator and hash_or_unhashable. Dict::lookup here runs inside STORE_NAME for the loop variable char, which is written into the module globals dict on every iteration. Root cause: the string hash seed is random in each runbenches/microbenchmarks.rs builds the interpreter from Settings::default(), which leaves hash_seed: None. init_hash_secret then picks a random hash secret for each process, so the hash of "char" changes from run to run. That changes how far the lookup has to probe in the globals dict before it finds the key. Some runs land on a longer chain, and since that lookup happens on every loop iteration, a few extra probes show up as about 10% on this benchmark. The base and head differ in cache cost as well as instruction count, which also points to the dict layout rather than any code change. Suggested fix (not applied here)To make dict-heavy microbenchmarks repeatable, pin the seed in the bench harness: // benches/microbenchmarks.rs (and benches/execution.rs)
let mut settings = Settings::default();
settings.hash_seed = Some(0);I haven't pushed this, because it doesn't belong in a Dependabot PR. I can open a separate PR for it if you'd like. Verdict: this PR has no performance impact either way and is safe to merge. Summary
Learnings updated. See what CodSpeed remembers about this repository. Was this response helpful? React with 👍 or 👎 to help us improve CodSpeedBot. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Bumps which from 8.0.5 to 8.0.6.
Release notesSourced from which's releases.
ChangelogSourced from which's changelog.
CommitsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: