https://github.com/awadell1/pkgjogger.jl

Take your packages for a jog!

https://github.com/awadell1/pkgjogger.jl

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.4%) to scientific vocabulary

Keywords

benchmark benchmark-framework benchmarking github-actions julia julia-language

Keywords from Contributors

numerics
Last synced: 6 months ago · JSON representation

Repository

Take your packages for a jog!

Basic Info
Statistics
  • Stars: 23
  • Watchers: 1
  • Forks: 0
  • Open Issues: 11
  • Releases: 18
Topics
benchmark benchmark-framework benchmarking github-actions julia julia-language
Created over 4 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

PkgJogger

Stable Dev Build Status Coverage Status

version pkgeval Downloads

PkgJogger provides a framework for running suites of BenchmarkTools.jl benchmarks without the boilerplate.

Just write benchmarks

Create a benchmark/bench_*.jl file, define a BenchmarkTools.jl suite and go!

julia using BenchmarkTools using AwesomePkg suite = BenchmarkGroup() suite["fast"] = @benchmarkable fast_code()

PkgJogger will wrap each benchmark/bench_*.jl in a module and bundle them into JogAwesomePkg

```julia using AwesomePkg using PkgJogger

Creates the JogAwesomePkg module

@jog AwesomePkg

Warmup, tune, and run all of AwesomePkg's benchmarks

JogAwesomePkg.benchmark() ```

Benchmark, Revise, and Benchmark Again!

PkgJogger uses Revise.jl to track changes to your benchmark/bench_*.jl files and reload your suite as you edit. No more waiting for benchmarks to precompile!

Tracked Changes:

  • Changing your benchmarked function
  • Changing benchmarking parameters (i.e. seconds or samples)
  • Adding new benchmarks

Current Limitations:

  • New benchmark files are not tracked
  • Deleted benchmarks will stick around
  • Renamed benchmarks will create a new benchmark and retain the old name

To get around the above, run @jog PkgName to get an updated jogger.

Note: Revise must be loaded first in order to track changes to your benchmark files.

Continuous Benchmarking Baked In!

Install PkgJogger, run benchmarks, and save results to a *.bson.gz with a one-line command.

shell julia -e 'using Pkg; Pkg.add("PkgJogger"); using PkgJogger; PkgJogger.ci()'

What gets done:

  • Constructs a temporary benchmarking environment from Project.toml and benchmark/Project.toml.
  • Creates a jogger to run the package's benchmarks.
  • Warmup, tune and run all benchmarks.
  • Save Benchmarking results and more to a compressed *.bson.gz file.

Or for a more lightweight option, use @test_bechmarks to run each benchmark once (No Warmup, tuning, etc.), as a smoke test against benchmarking regressions.

Owner

  • Name: Alex Wadell
  • Login: awadell1
  • Kind: user
  • Location: Ann Arbor, MI
  • Company: University of Michigan

PhD Candidate at the University of Michigan

GitHub Events

Total
  • Delete event: 3
  • Issue comment event: 1
  • Push event: 17
  • Pull request event: 4
  • Create event: 2
  • Commit comment event: 5
Last Year
  • Delete event: 3
  • Issue comment event: 1
  • Push event: 17
  • Pull request event: 4
  • Create event: 2
  • Commit comment event: 5

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 173
  • Total Committers: 2
  • Avg Commits per committer: 86.5
  • Development Distribution Score (DDS): 0.012
Past Year
  • Commits: 7
  • Committers: 1
  • Avg Commits per committer: 7.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Alexius Wadell a****l@g****m 171
CompatHelper Julia c****y@j****g 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 27
  • Total pull requests: 47
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Total issue authors: 3
  • Total pull request authors: 2
  • Average comments per issue: 0.96
  • Average comments per pull request: 0.15
  • Merged pull requests: 47
  • Bot issues: 0
  • Bot pull requests: 5
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • awadell1 (25)
  • gdalle (1)
  • JuliaTagBot (1)
Pull Request Authors
  • awadell1 (50)
  • github-actions[bot] (5)
Top Labels
Issue Labels
enhancement (10) bug (8) tui (6) continuous-benchmarking (3) performance (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • julia 1 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 19
juliahub.com: PkgJogger

Take your packages for a jog!

  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1 Total
Rankings
Dependent repos count: 9.9%
Stargazers count: 34.1%
Average: 34.1%
Dependent packages count: 38.9%
Forks count: 53.5%
Last synced: 6 months ago

Dependencies

.github/workflows/CI.yml actions
  • ./ * composite
  • actions/checkout v3 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/julia-uploadcoveralls v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/CompatHelper.yml actions
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
action.yml actions