From 87983464d8a331c1ddd09eced9920269a759f0a9 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sat, 7 Jan 2023 07:09:48 -0800 Subject: Implement DNS module (#1691) * Boilerplate for DNS stuff * Add c-ares * lookup * make * Implement dns.lookup * Create c-ares * wip * normalize * repro * Revert "repro" This reverts commit 8b93e0c295b335b8882a9601da47720348549beb. * Implement macOS `getaddrinfo_async_start` * embiggen * Update string_immutable.zig * Update Makefile * alright * Update .gitignore * Add types * more ccache * Update Dockerfile * Update Dockerfile * Update Dockerfile * Update bun.d.ts Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> --- bench/snippets/dns.node.mjs | 76 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 bench/snippets/dns.node.mjs (limited to 'bench/snippets/dns.node.mjs') diff --git a/bench/snippets/dns.node.mjs b/bench/snippets/dns.node.mjs new file mode 100644 index 000000000..1a27afd0d --- /dev/null +++ b/bench/snippets/dns.node.mjs @@ -0,0 +1,76 @@ +import { lookup, resolve } from "node:dns/promises"; +import { bench, run } from "mitata"; + +bench("(cached) dns.lookup remote x 50", async () => { + var tld = "example.com"; + const run = () => lookup(tld).catch(() => {}); + const total = 50; + var remain = total; + var done; + await new Promise((resolve) => { + for (var i = 0; i < total; i++) + run().finally(() => { + remain--; + if (remain === 0) { + done(); + } + }); + done = resolve; + }); +}); + +bench("(cached in batch) dns.lookup remote x 50", async () => { + var tld = Math.random().toString(16) + ".example.com"; + const run = () => lookup(tld).catch(() => {}); + const total = 50; + var remain = total; + var done; + await new Promise((resolve) => { + for (var i = 0; i < total; i++) + run().finally(() => { + remain--; + if (remain === 0) { + done(); + } + }); + done = resolve; + }); +}); + +bench("dns.lookup remote x 50", async () => { + var remain = 50; + var done; + const run = () => + lookup(Math.random().toString() + ".example.com").catch(() => {}); + + await new Promise((resolve) => { + for (var i = 0; i < 50; i++) + run().finally(() => { + remain--; + if (remain === 0) { + done(); + } + }); + done = resolve; + }); +}); + +bench("dns.resolve remote x 50", async () => { + var remain = 50; + var done; + const run = () => + resolve(Math.random().toString() + ".example.com").catch(() => {}); + + await new Promise((resolve) => { + for (var i = 0; i < 50; i++) + run().finally(() => { + remain--; + if (remain === 0) { + done(); + } + }); + done = resolve; + }); +}); + +await run(); -- cgit v1.2.3 >dave/postinstall_2 Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/html-rewriter.test.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-02-16faster Buffer.byteLength("latin1")Gravatar Jarred Sumner 1-36/+28
2023-02-16Support yarn-like `"workspaces"."packages": string[]` (#2086)Gravatar Jarred Sumner 2-97/+253
2023-02-16Implement `machine` for Linux (#2088)Gravatar Justin Whear 3-0/+19
2023-02-16Fix #1516 (#2089)Gravatar Justin Whear 3-7/+14
2023-02-16Update globals.d.tsGravatar Jarred Sumner 1-0/+15
2023-02-16Add missing type definitionGravatar Jarred Sumner 1-0/+2
2023-02-16[napi] Fix crash in creating arrays > 8 elements longGravatar Jarred Sumner 1-10/+9
2023-02-16Clarify and clean up macOS build process (#2087)Gravatar Luke Deen Taylor 2-4/+4
2023-02-15Don't crash on null version stringGravatar Jarred Sumner 1-1/+1
2023-02-15Add disabled optimizationGravatar Jarred Sumner 1-0/+51
2023-02-15Add more logging to napiGravatar Jarred Sumner 1-30/+150
2023-02-15Incorrect implementation of `napi_create_threadsafe_function`Gravatar Jarred Sumner 1-21/+43
2023-02-15feat(fetch) AbortSignal (#2019)Gravatar Ciro Spaciari 17-58/+443
2023-02-15fix(webcrypto): fix ed25519 CryptoKey.algorithm (#2082)Gravatar Derrick Farris 2-9/+28
2023-02-15Fix 2063 (#2079)Gravatar Justin Whear 2-2/+11
2023-02-15Make sure we test * in tesconfigGravatar Jarred Sumner 2-1/+3
2023-02-15don't return an error thereGravatar Jarred Sumner 2-1/+3
2023-02-15Fix castGravatar Jarred Sumner 1-15/+17
2023-02-15ensure we allocate for > 6 argumentsGravatar Jarred Sumner 1-6/+13
2023-02-15Update async_hooks.exports.jsGravatar Jarred Sumner 1-2/+2
2023-02-15workaround prisma's usage of `eval("__dirname")`Gravatar Jarred Sumner 1-1/+23
2023-02-15some cleanupGravatar Jarred Sumner 2-15/+9
2023-02-15ED25519 WebCrypto (#1971)Gravatar Jarred Sumner 12-11/+1167
2023-02-14Fix up async_hooks polyfillGravatar Jarred Sumner 2-8/+63
2023-02-14Add temporary polyfill for async_hooksGravatar Jarred Sumner 5-108/+324
2023-02-14:mask: async_hooksGravatar Jarred Sumner 1-0/+4
2023-02-14[install] link network-delayed `.bin` scripts correctly (#2076)Gravatar Alex Lam S.L 3-16/+21
2023-02-14don't break esbuildGravatar Jarred Sumner 7-75/+50
2023-02-14Add workaround for `tls` and `worker_threads`Gravatar Jarred Sumner 3-1/+64
2023-02-14[install] improve `package.json` validation (#2074)Gravatar Alex Lam S.L 6-104/+342
2023-02-14[WIP] fix(node:fs): export `fs.ReadStream` and `fs.WriteStream` (#1798)Gravatar Derrick Farris 4-72/+326
2023-02-14Reject with error when invalid fetch() body (#2047)Gravatar Eric Zhang 2-12/+44
2023-02-13fix(FormData): make String explicit, thanks @dylan-conway (#2065)Gravatar Derrick Farris 1-1/+1
2023-02-13fix(FormData): add string literal operator (#2064)Gravatar Derrick Farris 1-2/+2
2023-02-13Add pretty printer for FormDataGravatar Jarred Sumner 5-1/+101
2023-02-13Add dynamic port assigning to Bun.serve (#2062)Gravatar MichaƂ Warda 3-5/+40
2023-02-13feat(napi): add `napi_get_value_bigint_words` (#2061)Gravatar Derrick Farris 3-0/+44
2023-02-13Fixes https://github.com/oven-sh/bun/issues/1456Gravatar Jarred Sumner 8-1/+148