chore(deps): update rust crate iai-callgrind to 0.14 #80
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.13
->0.14
Release Notes
iai-callgrind/iai-callgrind (iai-callgrind)
v0.14.0
Compare Source
This release adds full support for multi-threaded and multi-process
applications.
When upgrading from a previous release of Iai-Callgrind you might experience
changes in the metrics without having changed the benchmarks themselves. The
summary
line in callgrind output files turned out to be buggy and unreliableif client requests are used, so Iai-Callgrind now parses the
totals
instead.The
totals
might differ slightly from thesummary
and cause the differencein the displayed metrics. You might also see changes in the metrics because of
the changed default values for some of the valgrind arguments. Iai-Callgrind
changed the following default valgrind/callgrind arguments for each benchmark
run:
--separate-threads=no
->--separate-threads=yes
--trace-children=no
->--trace-children=yes
--fair-sched=no
->--fair-sched=try
You can now run the
setup
in binary benchmarks in parallel to theCommand
for flexible benchmarking of client/server architectures.
The MSRV has changed from
1.66.0
->1.67.1
.If not stated otherwise the changes below were introduced in
#263.
Added
implementing the correct handling of the valgrind
--trace-children
andcallgrind
--separate-threads
command line options. Per default only thetotal over all subprocesses and threads is calculated and shown. But, each
thread and subprocess can be displayed with the new
OutputFormat::show_intermediate
option.--dump-every-bb
,--dump-before
,--dump-after
which create parts. These parts are nowcorrectly summarized in the total and the metrics of each part can be shown
with
OutputFormat::show_intermediate
.OutputFormat
which can be used inLibraryBenchmarkConfig::output_format
andBinaryBenchmarkConfig::output_format
to change some of the behaviour of thedefault terminal output (but not json output)
each benchmark run.
(#279): Support
running setup in parallel and add possibility to delay the
Command
. Thanksto @hargut for #256
option
OutputFormat::show_grid
to show grid/guiding lines which can helpreading the terminal output if running benchmarks with multiple
threads/subprocesses/tools.
BinaryBenchmarkConfig::with_callgrind_args
was added to match theconstructors of the
LibraryBenchmarkConfig
.BinaryBenchmarkConfig::valgrind_args
andLibraryBenchmarkConfig::valgrind_args
are introduced to be able to passvalgrind core arguments to all tools.
Changed
All tools are now per default run with
--trace-children=yes
and--fair-sched=try
. In addition, callgrind is run with--separate-threads=yes
. These default arguments can be changed inTool::args
orLibraryBenchmarkConfig::callgrind_args
,BinaryBenchmarkConfig::callgrind_args
.The file naming scheme was adjusted to include the pids in case of
multi-process benchmarks, the parts in case of callgrind command-line
arguments which create multiple parts and threads in case of multiple threads.
This change is backwards compatible to the file naming scheme of previous
Iai-Callgrind releases for all tools but
exp-bbv
.Error metrics from tools like drd, helgrind and memcheck are now listed and
compared like the other metrics in a vertical format. For example
(#263) and
(#288): Increase
the field width by 3 bytes and the space for metrics by 5 on each side of the
comparison so that the value of
u64::MAX
fits into the terminal outputwithout messing up the side-by-side layout.
The
LibraryBenchmarkConfig::truncate_description
,BinaryBenchmarkConfig::truncate_description
methods have been moved toOutputFormat::truncate_description
In the presence of multiple processes the DHAT metrics are now summarized and
shown in a total in the same way as the metrics of callgrind and the other
tools.
Bump the summary json schema to v3 in
iai-callgrind-runner/schemas/summary.v3.schema.json
Various prs: Update locked direct dependencies:
anyhow
-> 1.0.89cc
-> 1.1.25indexmap
-> 2.6.0itertools
-> 0.13.0once_cell
-> 1.20.1regex
-> 1.11.0serde_json
-> 1.0.128serde
-> 1.0.210syn
-> 2.0.79tempfile
-> 3.13.0(#288): The default
include path for the valgrind headers has changed to
/usr/local/include
onfreebsd instead of
/usr/local
.(#289): Update
derive_more
->1.0
inCargo.toml
but not in lock file.(#293): Update MSRV
from
1.66.0
->1.67.1
(#296): Update
locked transitive dependencies.
Deprecated
LibraryBenchmarkConfig::raw_callgrind_args
->LibraryBenchmarkConfig::callgrind_args
,LibraryBenchmarkConfig::with_raw_callgrind_args
->LibraryBenchmarkConfig::with_callgrind_args
BinaryBenchmarkConfig::raw_callgrind_args
->BinaryBenchmarkConfig::callgrind_args
LibraryBenchmarkConfig::raw_callgrind_args_iter
was deprecatedsince it is the same as
LibraryBenchmarkConfig::callgrind_args
.Removed
--combine-dumps
anymore.Tool::outfile_modifier
method was removed. The%p
modifier forvalgrind output and log files is now applied automatically when using the
--trace-children=yes
command line argument.Fixed
now prioritized over the summary line. The summary line has bugs and reports
wrong costs if callgrind client requests are used. The totals are unaffected
by client requests and report the correct costs. This change is mostly
internal but might introduce some (small) changes in the metrics reported by
Iai-Callgrind.
they consisted of a single digit.
derive
Clone
impl foriai_callgrind::LibraryBenchmarkConfig
library_benchmark_group!
was private but the expanded mod should be publicThanks to @ryanpeach
v0.13.4
Compare Source
Changed
from unmaintained proc-macro-error to proc-macro-error2 due to
https://rustsec.org/advisories/RUSTSEC-2024-0370. This also removes the
duplicate dependency on
syn v2
andsyn v1
.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.