Skip to content

adding support for passing separate keyword arguments #189

Closed
arnavk23 wants to merge 19 commits intoJuliaSmoothOptimizers:mainfrom
arnavk23:perf/profile-kwargs
Closed

adding support for passing separate keyword arguments #189
arnavk23 wants to merge 19 commits intoJuliaSmoothOptimizers:mainfrom
arnavk23:perf/profile-kwargs

Conversation

@arnavk23
Copy link
Copy Markdown
Contributor

@arnavk23 arnavk23 commented Dec 2, 2025

Fixes #143

Copilot AI review requested due to automatic review settings December 2, 2025 02:17
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR addresses issue #143 by adding support for passing separate keyword arguments to different levels of plotting function calls in performance profiles. The changes enable users to customize both individual performance profile plots and the final combined plot independently.

  • Added bp_kwargs parameter to pass kwargs to BenchmarkProfiles.performance_profile calls
  • Added plot_kwargs parameter to pass kwargs specifically to the final Plots.plot call
  • Added git status check to skip PkgBenchmark tests when the working tree has uncommitted changes

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.

File Description
test/pkgbmark.jl Adds git status check to skip benchmarking when repository is dirty, preventing PkgBenchmark errors
src/profiles.jl Introduces bp_kwargs and plot_kwargs parameters to allow fine-grained control over plotting keyword arguments at different function call levels

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/profiles.jl Outdated
Comment thread src/profiles.jl Outdated
Comment thread src/profiles.jl Outdated
Comment thread src/profiles.jl Outdated
Comment thread src/profiles.jl Outdated
Comment thread src/profiles.jl Outdated
@arnavk23
Copy link
Copy Markdown
Contributor Author

arnavk23 commented Dec 3, 2025

@tmigot Whenever you are free, please take a look. Thanks!

@tmigot tmigot self-requested a review December 3, 2025 17:29
@codecov
Copy link
Copy Markdown

codecov bot commented Dec 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.19%. Comparing base (4c0fcd2) to head (f2202e9).
⚠️ Report is 37 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #189      +/-   ##
==========================================
+ Coverage   76.71%   86.19%   +9.48%     
==========================================
  Files          12       10       -2     
  Lines         292      297       +5     
==========================================
+ Hits          224      256      +32     
+ Misses         68       41      -27     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@arnavk23 arnavk23 changed the title profile kwargs adding support for passing separate keyword arguments Dec 13, 2025
Comment thread src/profiles.jl Outdated
@arnavk23 arnavk23 requested a review from tmigot December 17, 2025 06:33
tmigot
tmigot previously requested changes Dec 19, 2025
Comment thread test/pkgbmark.jl Outdated
Comment thread src/profiles.jl Outdated
Comment thread src/profiles.jl Outdated
- Remove unused args... from performance_profile
- Remove redundant bp_kwargs from performance_profile (both bp_kwargs and kwargs were splatted into same call)
- Remove redundant plot_kwargs from profile_solvers (both plot_kwargs and kwargs were splatted into same call)
- Update documentation to reflect simpler API
- Update tests accordingly
@arnavk23 arnavk23 requested a review from tmigot December 20, 2025 04:24
Copy link
Copy Markdown
Member

@dpo dpo left a comment

Choose a reason for hiding this comment

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

Thank you @arnavk23 and sorry for the long wait. This looks great. I suggest to pass bp_kwargs... last on calls to BenchmarkProfiles.performance_profile() so that the arguments in bp_kwargs can be used to override hard-coded arguments (such as palette = clrs, etc.). Let me know if that looks ok.

Comment thread src/profiles.jl Outdated
Comment thread src/profiles.jl Outdated
Comment thread src/profiles.jl Outdated
Comment thread src/profiles.jl Outdated
Comment thread src/profiles.jl Outdated
Co-authored-by: Dominique <dominique.orban@gmail.com>
@dpo dpo removed the request for review from tmigot April 3, 2026 16:04
@dpo dpo dismissed tmigot’s stale review April 3, 2026 16:05

Can't find requested change and the pr looks fine now.

@dpo
Copy link
Copy Markdown
Member

dpo commented Apr 3, 2026

@arnavk23 Could you please rebase this branch? Thanks.

@arnavk23
Copy link
Copy Markdown
Contributor Author

arnavk23 commented Apr 3, 2026

@dpo Rebased the pr.

@dpo
Copy link
Copy Markdown
Member

dpo commented Apr 3, 2026

@arnavk23 Github says there are still conflicts...

I think the issue is that you have merge commits. Try to avoid those. Use git rebase instead.

@dpo
Copy link
Copy Markdown
Member

dpo commented Apr 3, 2026

closing in favor of #200

@dpo dpo closed this Apr 3, 2026
@arnavk23 arnavk23 deleted the perf/profile-kwargs branch April 4, 2026 05:30
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.

performance_profile() doesn't passe kwargs to BenchmarkProfiles.performance_profiles()

4 participants