跳至主要内容

基准测试

在编写库时,一个非常常见的任务是测试方法的速度,通常是与其他库进行比较。 Deno 提供了一个易于使用的子命令来完成此目的。

在 Github 上编辑
Deno 基准测试最基本的形式是提供一个名称和一个匿名函数来运行。
Deno.bench("URL parsing", () => {
  new URL("https://deno.land");
});
我们也可以使用异步函数。
Deno.bench("Async method", async () => {
  await crypto.subtle.digest("SHA-256", new Uint8Array([1, 2, 3]));
});
我们可以选择使用长格式的基准测试定义。
Deno.bench({
  name: "Long form",
  fn: () => {
    new URL("https://deno.land");
  },
});
我们还可以使用可选的 group 和 baseline 参数将某些基准测试分组在一起。
Deno.bench({
  name: "Date.now()",
  group: "timing",
  baseline: true,
  fn: () => {
    Date.now();
  },
});

Deno.bench({
  name: "performance.now()",
  group: "timing",
  fn: () => {
    performance.now();
  },
});

使用 Deno CLI 在本地运行 这个示例

deno bench https://github.com/denoland/deno-docs/blob/main/examples/benchmarking.ts