web_benchmarks

Creator: coderz1093

Last updated:

Add to Cart

Description:

web benchmarks

web_benchmarks #
A benchmark harness for Flutter Web apps. Currently only supports running
benchmarks in Chrome.
Writing a benchmark #
An example benchmark can be found in testing/web_benchmark_test.dart.
A web benchmark is made of two parts: a client and a server. The client is code
that runs in the browser together with the benchmark code. The server serves the
app's code and assets. Additionally, the server communicates with the browser to
extract the performance traces.
Analyzing benchmark results #
After running web benchmarks, you may want to analyze the results or compare
with the results from other benchmark runs. The web_benchmarks package
supports the following analysis operations:

compute the delta between two benchmark results
compute the average of a set of benchmark results


import 'dart:convert';
import 'dart:io';

import 'package:web_benchmarks/analysis.dart';

void main() {
final BenchmarkResults baselineResults =
_benchmarkResultsFromFile('/path/to/benchmark_baseline.json');
final BenchmarkResults testResults1 =
_benchmarkResultsFromFile('/path/to/benchmark_test_1.json');
final BenchmarkResults testResults2 =
_benchmarkResultsFromFile('/path/to/benchmark_test_2.json');

// Compute the delta between [baselineResults] and [testResults1].
final BenchmarkResults delta = computeDelta(baselineResults, testResults1);
stdout.writeln(delta.toJson());

// Compute the average of [testResults] and [testResults2].
final BenchmarkResults average =
computeAverage(<BenchmarkResults>[testResults1, testResults2]);
stdout.writeln(average.toJson());
}

BenchmarkResults _benchmarkResultsFromFile(String path) {
final File file = File.fromUri(Uri.parse(path));
final Map<String, Object?> fileContentAsJson =
jsonDecode(file.readAsStringSync()) as Map<String, Object?>;
return BenchmarkResults.parse(fileContentAsJson);
}
copied to clipboard

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.