MCPcopy Create free account
hub / github.com/WasmEdge/WasmEdge / analyse

Function analyse

test/expected/catch.hpp:7169–7216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7167 namespace Detail {
7168 template <typename Duration, typename Iterator>
7169 SampleAnalysis<Duration> analyse(const IConfig &cfg, Environment<Duration>, Iterator first, Iterator last) {
7170 if (!cfg.benchmarkNoAnalysis()) {
7171 std::vector<double> samples;
7172 samples.reserve(last - first);
7173 std::transform(first, last, std::back_inserter(samples), [](Duration d) { return d.count(); });
7174
7175 auto analysis = Catch::Benchmark::Detail::analyse_samples(cfg.benchmarkConfidenceInterval(), cfg.benchmarkResamples(), samples.begin(), samples.end());
7176 auto outliers = Catch::Benchmark::Detail::classify_outliers(samples.begin(), samples.end());
7177
7178 auto wrap_estimate = [](Estimate<double> e) {
7179 return Estimate<Duration> {
7180 Duration(e.point),
7181 Duration(e.lower_bound),
7182 Duration(e.upper_bound),
7183 e.confidence_interval,
7184 };
7185 };
7186 std::vector<Duration> samples2;
7187 samples2.reserve(samples.size());
7188 std::transform(samples.begin(), samples.end(), std::back_inserter(samples2), [](double d) { return Duration(d); });
7189 return {
7190 std::move(samples2),
7191 wrap_estimate(analysis.mean),
7192 wrap_estimate(analysis.standard_deviation),
7193 outliers,
7194 analysis.outlier_variance,
7195 };
7196 } else {
7197 std::vector<Duration> samples;
7198 samples.reserve(last - first);
7199
7200 Duration mean = Duration(0);
7201 int i = 0;
7202 for (auto it = first; it < last; ++it, ++i) {
7203 samples.push_back(Duration(*it));
7204 mean += Duration(*it);
7205 }
7206 mean /= i;
7207
7208 return {
7209 std::move(samples),
7210 Estimate<Duration>{mean, mean, mean, 0.0},
7211 Estimate<Duration>{Duration(0), Duration(0), Duration(0), 0.0},
7212 OutlierClassification{},
7213 0.0
7214 };
7215 }
7216 }
7217 } // namespace Detail
7218 } // namespace Benchmark
7219} // namespace Catch

Callers 1

runMethod · 0.85

Calls 10

analyse_samplesFunction · 0.85
classify_outliersFunction · 0.85
DurationClass · 0.85
benchmarkNoAnalysisMethod · 0.80
countMethod · 0.80
benchmarkResamplesMethod · 0.80
beginMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected