diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2019-10-10 05:31:23 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-10 05:31:23 -0400 |
commit | e7562eed8c816cd0d97aab6b818d7c8453dbaa2b (patch) | |
tree | c5a9f536e79d2c8d2d02897511a9138acaf35394 /std/testing/bench_test.ts | |
parent | 3882c9d19a641e0c919f1350d87c6d7ee280cf78 (diff) | |
parent | 93f7f00c956c14620ef031626f124b57397ca867 (diff) |
Merge deno_std in main repo (#3091)
The history of deno_std is persevered but rewritten to update links to issues and PRs
Fixes denoland/deno_std#603
Diffstat (limited to 'std/testing/bench_test.ts')
m--------- | std | 0 | ||||
-rw-r--r-- | std/testing/bench_test.ts | 60 |
2 files changed, 60 insertions, 0 deletions
diff --git a/std b/std deleted file mode 160000 -Subproject 43aafbf33285753e7b42230f0eb7969b300f71c diff --git a/std/testing/bench_test.ts b/std/testing/bench_test.ts new file mode 100644 index 000000000..8af2f0d6d --- /dev/null +++ b/std/testing/bench_test.ts @@ -0,0 +1,60 @@ +import { test, runIfMain } from "./mod.ts"; +import { bench, runBenchmarks } from "./bench.ts"; + +import "./bench_example.ts"; + +test(async function benching(): Promise<void> { + bench(function forIncrementX1e9(b): void { + b.start(); + for (let i = 0; i < 1e9; i++); + b.stop(); + }); + + bench(function forDecrementX1e9(b): void { + b.start(); + for (let i = 1e9; i > 0; i--); + b.stop(); + }); + + bench(async function forAwaitFetchDenolandX10(b): Promise<void> { + b.start(); + for (let i = 0; i < 10; i++) { + const r = await fetch("https://deno.land/"); + await r.text(); + } + b.stop(); + }); + + bench(async function promiseAllFetchDenolandX10(b): Promise<void> { + const urls = new Array(10).fill("https://deno.land/"); + b.start(); + await Promise.all( + urls.map( + async (denoland: string): Promise<void> => { + const r = await fetch(denoland); + await r.text(); + } + ) + ); + b.stop(); + }); + + bench({ + name: "runs100ForIncrementX1e6", + runs: 100, + func(b): void { + b.start(); + for (let i = 0; i < 1e6; i++); + b.stop(); + } + }); + + bench(function throwing(b): void { + b.start(); + // Throws bc the timer's stop method is never called + }); + + await runBenchmarks({ skip: /throw/ }); +}); + +runIfMain(import.meta); |