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

Update iai-callgrind requirement from 0.11.0 to 0.13.0 #82

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Aug 19, 2024

Updates the requirements on iai-callgrind to permit the latest version.

Release notes

Sourced from iai-callgrind's releases.

v0.13.0

[0.13.0] - 2024-08-19

!!! IMPORTANT The default to run binary benchmarks in a sandbox has been changed from true to false. The setup and teardown of the binary_benchmark_group! are not executed in the sandbox anymore !!!

The way to set up binary benchmarks has completely changed and has been rewritten from scratch! The api for binary and library benchmarks is now consistent and most features from library benchmarks which were missing for binary benchmarks are now available in binary benchmarks, too. For example comparison of benchmarks by id. If you are using library benchmarks but not binary benchmarks, this release doesn't change much. There are no breaking changes for library benchmarks and you can jump right to the changes section of this release. Otherwise, here's a small introduction to the new api and the changes for binary benchmarks.

There are a lot of advantages for you and honestly for us, too, because we don't have to maintain two completely different apis. Binary benchmarks and library benchmarks can now be written in a similar fashion what makes writing benchmarks for a crate's binaries just easier and faster. No need to learn a completely different api if you already used library benchmarks and vice versa! Also, the feature set between library benchmarks and binary benchmarks diverged over time. For example comparison by id of benchmarks within the same group was available in library benchmarks via the library_benchmark_group! macro but not in binary benchmarks. Such differences are gone, now. Also, if you find out the new #[binary_attribute] does not provide you with the same power as the old builder api, you can still use a low level api and can even intermix the two styles. The new low level api is more intuitive than the old builder api, just more powerful and mirrors the binary_benchmark attribute as much as possible.

For example if the crate's binary is named my-binary:

use iai_callgrind::{binary_benchmark, binary_benchmark_group};
#[binary_benchmark]
#[bench::some_id("foo")]
fn bench_binary(arg: &str) -> iai_callgrind::Command {
iai_callgrind::Command::new(env!("CARGO_BIN_EXE_my-binary"))
.arg(arg)
.build()
}
binary_benchmark_group!(
name = some_group;
benchmarks = bench_binary
);

can also be written with the low level api

use iai_callgrind::{binary_benchmark_group, BinaryBenchmark, Bench};
binary_benchmark_group!(
name = low_level;
benchmarks = |group: &mut BinaryBenchmarkGroup| {
group
.binary_benchmark(
BinaryBenchmark::new("bench_binary")
.bench(
Bench::new("some_id").command(
iai_callgrind::Command::new(env!("CARGO_BIN_EXE_my-binary"))
.arg("foo")
)
)
)
}
);

... (truncated)

Changelog

Sourced from iai-callgrind's changelog.

[0.13.0] - 2024-08-19

!!! IMPORTANT The default to run binary benchmarks in a sandbox has been changed from true to false. The setup and teardown of the binary_benchmark_group! are not executed in the sandbox anymore !!!

The way to set up binary benchmarks has completely changed and has been rewritten from scratch! The api for binary and library benchmarks is now consistent and most features from library benchmarks which were missing for binary benchmarks are now available in binary benchmarks, too. For example comparison of benchmarks by id. If you are using library benchmarks but not binary benchmarks, this release doesn't change much. There are no breaking changes for library benchmarks and you can jump right to the changes section of this release. Otherwise, here's a small introduction to the new api and the changes for binary benchmarks.

There are a lot of advantages for you and honestly for us, too, because we don't have to maintain two completely different apis. Binary benchmarks and library benchmarks can now be written in a similar fashion what makes writing benchmarks for a crate's binaries just easier and faster. No need to learn a completely different api if you already used library benchmarks and vice versa! Also, the feature set between library benchmarks and binary benchmarks diverged over time. For example comparison by id of benchmarks within the same group was available in library benchmarks via the library_benchmark_group! macro but not in binary benchmarks. Such differences are gone, now. Also, if you find out the new #[binary_attribute] does not provide you with the same power as the old builder api, you can still use a low level api and can even intermix the two styles. The new low level api is more intuitive than the old builder api, just more powerful and mirrors the binary_benchmark attribute as much as possible.

For example if the crate's binary is named my-binary:

use iai_callgrind::{binary_benchmark, binary_benchmark_group};
#[binary_benchmark]
#[bench::some_id("foo")]
fn bench_binary(arg: &str) -> iai_callgrind::Command {
iai_callgrind::Command::new(env!("CARGO_BIN_EXE_my-binary"))
.arg(arg)
.build()
}
binary_benchmark_group!(
name = some_group;
benchmarks = bench_binary
);

can also be written with the low level api

... (truncated)

Commits
  • d7044a3 Merge branch 'release'
  • cfc5895 Update CHANGELOG
  • 1f43637 Bump version v0.12.3 -> v0.13.0
  • c6c792c Bump iai-callgrind-macros version v0.3.1 -> v0.4.0
  • d04fb76 Update CHANGELOG
  • 7ec5c9f docs: Fix some examples in README and add use statements
  • 13d6f4f docs: Fix broken links and missing backticks
  • dfedbd7 chore: Update CONTRIBUTING
  • dfe584d Merge pull request #234 from iai-callgrind/renovate/tempfile-3.x-lockfile
  • 708a294 chore(deps): update rust crate tempfile to v3.12.0
  • Additional commits viewable in compare view

Dependabot 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:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [iai-callgrind](https://github.com/iai-callgrind/iai-callgrind) to permit the latest version.
- [Release notes](https://github.com/iai-callgrind/iai-callgrind/releases)
- [Changelog](https://github.com/iai-callgrind/iai-callgrind/blob/main/CHANGELOG.md)
- [Commits](iai-callgrind/iai-callgrind@v0.11.0...v0.13.0)

---
updated-dependencies:
- dependency-name: iai-callgrind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Aug 19, 2024
Copy link

🐰Bencher

ReportMon, August 19, 2024 at 18:50:35 UTC
Projecth264-reader
Branch82/merge
Testbedlocalhost

⚠️ WARNING: The following Measures do not have a Threshold. Without a Threshold, no Alerts will ever be generated!

  • Instructions (instructions)
  • L1 Hits (l1-hits)
  • L2 Hits (l2-hits)
  • RAM Hits (ram-hits)
  • Total read+write (total-read-write)

Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the --ci-only-thresholds CLI flag.

Click to view all benchmark results
BenchmarkEstimated CyclesEstimated Cycles Results
estimated cycles | (Δ%)
InstructionsInstructions Results
instructions
L1 HitsL1 Hits Results
hits
L2 HitsL2 Hits Results
hits
RAM HitsRAM Hits Results
hits
Total read+writeTotal read+write Results
reads/writes
ci_bench::ci::reader read:setup_video("big_buck_bunny_1080p_24fps_h264.h264"...✅ (view plot)16,691,682.00➖ (view plot)8,218,574.00➖ (view plot)10,824,767.00➖ (view plot)14,463.00➖ (view plot)165,560.00➖ (view plot)11,004,790.00

Bencher - Continuous Benchmarking
View Public Perf Page
Docs | Repo | Chat | Help

Copy link
Contributor Author

dependabot bot commented on behalf of github Aug 28, 2024

Superseded by #83.

@dependabot dependabot bot closed this Aug 28, 2024
@dependabot dependabot bot deleted the dependabot/cargo/iai-callgrind-0.13.0 branch August 28, 2024 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants