aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-02-13 01:36:43 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-02-13 01:36:43 -0800
commit246db4fed0f7cae0e07f27d538c162a80ab07eaf (patch)
tree18534c7b60d9e46a6d6d3c3fcb94fe29ca37cf8f
parentaa0762e4660bb17b86890b923368e5a0dc8daf7b (diff)
downloadbun-246db4fed0f7cae0e07f27d538c162a80ab07eaf.tar.gz
bun-246db4fed0f7cae0e07f27d538c162a80ab07eaf.tar.zst
bun-246db4fed0f7cae0e07f27d538c162a80ab07eaf.zip
Add FormData bench snippet
-rw-r--r--bench/snippets/form-data.mjs34
1 files changed, 34 insertions, 0 deletions
diff --git a/bench/snippets/form-data.mjs b/bench/snippets/form-data.mjs
new file mode 100644
index 000000000..a12cf4b13
--- /dev/null
+++ b/bench/snippets/form-data.mjs
@@ -0,0 +1,34 @@
+// so it can run in environments without node module resolution
+import { bench, run } from "../node_modules/mitata/src/cli.mjs";
+
+const blob = new Blob(["foo", "bar", "baz"]);
+bench("FormData.append", () => {
+ const data = new FormData();
+ data.append("foo", "bar");
+ data.append("baz", blob);
+});
+
+const data = new FormData();
+data.append("foo", "bar");
+data.append("baz", blob);
+
+const formText =
+ // single field form data
+ "--Form\r\n" + 'Content-Disposition: form-data; name="foo"\r\n\r\n' + "bar\r\n" + "--Form--\r\n";
+
+bench("response.formData()", async () => {
+ await new Response(formText, {
+ headers: {
+ "Content-Type": "multipart/form-data; boundary=Form",
+ },
+ }).formData();
+});
+bench("new Response(formData).text()", async () => {
+ await new Response(data).text();
+});
+
+bench("new Response(formData).formData()", async () => {
+ await new Response(data).formData();
+});
+
+await run();