in benchmark/benchmark.dart [37:86]
void main(List<String> args) {
arguments = args;
for (var style in [p.Style.posix, p.Style.url, p.Style.windows]) {
final context = p.Context(style: style);
final files = <String>[...genericPaths, ...platformPaths[style]!];
void benchmark(String name, Function function) {
runBenchmark('${style.name}-$name', 100000, () {
for (var file in files) {
function(file);
}
});
}
void benchmarkPairs(String name, void Function(String, String) function) {
runBenchmark('${style.name}-$name', 1000, () {
for (var file1 in files) {
for (var file2 in files) {
function(file1, file2);
}
}
});
}
benchmark('absolute', context.absolute);
benchmark('basename', context.basename);
benchmark('basenameWithoutExtension', context.basenameWithoutExtension);
benchmark('dirname', context.dirname);
benchmark('extension', context.extension);
benchmark('rootPrefix', context.rootPrefix);
benchmark('isAbsolute', context.isAbsolute);
benchmark('isRelative', context.isRelative);
benchmark('isRootRelative', context.isRootRelative);
benchmark('normalize', context.normalize);
benchmark('relative', context.relative);
benchmarkPairs('relative from', (String file, String from) {
try {
context.relative(file, from: from);
} on p.PathException {
// Do nothing.
}
});
benchmark('toUri', context.toUri);
benchmark('prettyUri', context.prettyUri);
benchmarkPairs('isWithin', context.isWithin);
}
runBenchmark('current', 100000, () => p.current);
}