Skip to content

test(benches): add basic benchmark infrastructure#602

Merged
ptondereau merged 6 commits intomasterfrom
599-add-performance-test-infrastructure
Mar 26, 2026
Merged

test(benches): add basic benchmark infrastructure#602
ptondereau merged 6 commits intomasterfrom
599-add-performance-test-infrastructure

Conversation

@Xenira
Copy link
Copy Markdown
Member

@Xenira Xenira commented Dec 11, 2025

Refs: #599

Description

Adds basic benchmarking infrastructure

TODO:

  • CI/CD integration
  • Some more basic benchmarks as baseline

Checklist

Check the boxes that apply (put an x in the brackets, like [x]). You can also check boxes after the PR is created.

❤️ Thank you for your contribution!

@Xenira Xenira linked an issue Dec 11, 2025 that may be closed by this pull request
1 task
@coveralls
Copy link
Copy Markdown

coveralls commented Dec 11, 2025

Pull Request Test Coverage Report for Build 20556134071

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 36.015%

Totals Coverage Status
Change from base Build 20244150814: 0.0%
Covered Lines: 1652
Relevant Lines: 4587

💛 - Coveralls

@Xenira Xenira force-pushed the 599-add-performance-test-infrastructure branch 9 times, most recently from d5bc0a9 to 60971aa Compare December 15, 2025 19:46
@Xenira
Copy link
Copy Markdown
Member Author

Xenira commented Dec 15, 2025

Example upload https://bencher.php.rs/perf/ext-php-rs

CI upload only works once this is merged.

@Xenira Xenira marked this pull request as ready for review December 15, 2025 21:14
@Xenira
Copy link
Copy Markdown
Member Author

Xenira commented Dec 15, 2025

@ptondereau I think this works as an initial implementation. We should extend this further especially before tackling any performance issues.

@Xenira Xenira requested a review from ptondereau December 15, 2025 21:19
ptondereau
ptondereau previously approved these changes Dec 18, 2025
Copy link
Copy Markdown
Member

@ptondereau ptondereau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Look great! I tested it locally and am showing some good results indeed.
Some nitpicks

ptondereau
ptondereau previously approved these changes Dec 28, 2025
@ptondereau
Copy link
Copy Markdown
Member

@Xenira do you need help finishing your work here? This is a banger to me, and I can't wait to merge it

@ptondereau ptondereau force-pushed the 599-add-performance-test-infrastructure branch 4 times, most recently from 3fbbbbb to a1b99e4 Compare March 26, 2026 14:21
@ptondereau ptondereau force-pushed the 599-add-performance-test-infrastructure branch 8 times, most recently from bc22352 to 53bbe29 Compare March 26, 2026 15:12
Split benches into two independent crates to avoid the links="clang"
conflict between ext-php-rs-clang-sys and clang-sys (from gungraun's
bindgen):
- benches/ext/: PHP extension cdylib (depends on ext-php-rs only)
- benches/: benchmark harness (depends on gungraun only)

Valgrind client requests reimplemented via inline assembly in the ext
crate, removing the need for crabgrind/gungraun client_requests.

CI fixes: trigger on master not main, add missing bencher install step,
bump github-script to v7, drop flake.lock drift, remove edited PR
trigger type.
@ptondereau ptondereau force-pushed the 599-add-performance-test-infrastructure branch from 53bbe29 to e926074 Compare March 26, 2026 15:28
@ptondereau ptondereau merged commit 8733c30 into master Mar 26, 2026
67 of 68 checks passed
@ptondereau ptondereau deleted the 599-add-performance-test-infrastructure branch March 26, 2026 15:56
@Xenira Xenira mentioned this pull request Mar 26, 2026
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.

Add performance test infrastructure

3 participants