/
githubmirror
/
deno
Обзор
Документация
Войти
/
githubmirror
/
deno
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
tests/bench/sqlite.js
36 строк
1 KB
David Sherret
ci: add build, test, wpt, and bench jobs (#32158)
14 фев 2026, 14:31
Не верифицирован
14 фев 2026, 14:31
c15529e
Код
Авторство
О чём код?
// Copyright 2018-2026 the Deno authors. MIT license. // deno-lint-ignore-file no-console import { DatabaseSync } from "node:sqlite"; import fs from "node:fs"; function bench(name, fun, count = 10000) { const start = Date.now(); for (let i = 0; i < count; i++) fun(); const elapsed = Date.now() - start; const rate = Math.floor(count / (elapsed / 1000)); console.log(` ${name}: time ${elapsed} ms rate ${rate}`); } for (const name of [":memory:", "test.db"]) { console.log(`Benchmarking ${name}`); try { fs.unlinkSync(name); } catch { // Ignore } const db = new DatabaseSync(name); db.exec("CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT)"); bench("prepare", () => db.prepare("SELECT * FROM test")); bench("exec", () => db.exec("INSERT INTO test (name) VALUES ('foo')")); const stmt = db.prepare("SELECT * FROM test"); bench("get", () => stmt.get()); const stmt2 = db.prepare("SELECT * FROM test WHERE id = ?"); bench("get (integer bind)", () => stmt2.get(1)); bench("all", () => stmt.all(), 1000); }