Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

breaking: Support filtering benchmarks and profiling #73

Merged
merged 6 commits into from
Jun 11, 2024
Merged

Conversation

awadell1
Copy link
Owner

@awadell1 awadell1 commented Jun 6, 2024

Add support for filtering a suite to run a subset of benchmarks. See the docs for details.

Add support for profiling (a single benchmark for now) using Profile.@Profile, Profile.Allocs.@Profile or CUDA.@Profile.

Breaking due to c54672d, as JogAwesome.run no longer accepts alternate parameters for running (Yeah, I didn't realize it was a feature either)

awadell1 added 6 commits May 5, 2024 09:50
Can now do `JogAwesome.benchmark("bench_foo.jl")` to only run
benchmarks within `bench_foo.jl`.

The downside is that specifying arguments to `BenchmarkTools.run` is
no longer possible. That is a breaking change, but the lost is the
ability to run with different parameters. So hopefully minor.
Built-in support for `Profile.@profile` and `Profile.Allocs.@profile`,
plus support for `CUDA.@profile` via a package extensions

Package Extensions are supported on 1.9 forward (Won't be backporting
with Requires)

Quick demo:

```julia
@jog Example
using PkgJogger, Example
JogExample.profile("bench_timer.jl", "1ms") # CPU Profiling
JogExample.profile("bench_timer.jl", "1ms"; profiler=:allocs) # Allocs
```
@awadell1 awadell1 merged commit 0399fa4 into main Jun 11, 2024
11 of 14 checks passed
@awadell1 awadell1 deleted the filter branch June 11, 2024 20: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.

1 participant