From af60b5f9c96c8118ba9ae64706efdb5deb1e546f Mon Sep 17 00:00:00 2001
From: Yaacov Rydzinski <yaacovCR@gmail.com>
Date: Tue, 27 Dec 2022 13:39:30 +0200
Subject: [PATCH] add additional benchmark

see https://github.com/graphql/graphql-js/pull/3754#issue-1392076280
---
 benchmark/list-async-nested-benchmark.js | 34 ++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 benchmark/list-async-nested-benchmark.js

diff --git a/benchmark/list-async-nested-benchmark.js b/benchmark/list-async-nested-benchmark.js
new file mode 100644
index 0000000000..70cc5dbe3a
--- /dev/null
+++ b/benchmark/list-async-nested-benchmark.js
@@ -0,0 +1,34 @@
+import { execute } from 'graphql/execution/execute.js';
+import { parse } from 'graphql/language/parser.js';
+import { buildSchema } from 'graphql/utilities/buildASTSchema.js';
+
+const schema = buildSchema(`
+  type Query {
+    listField: [Object]
+  }
+
+  type Object {
+    field: String
+  }
+`);
+const document = parse('{ listField { field } }');
+
+function listField() {
+  const results = [];
+  for (let index = 0; index < 1; index++) {
+    results.push(Promise.resolve({ field: Promise.resolve(index) }));
+  }
+  return results;
+}
+
+export const benchmark = {
+  name: 'Execute Asynchronous List Field with Nested Asynchronous Fields',
+  count: 10,
+  async measure() {
+    await execute({
+      schema,
+      document,
+      rootValue: { listField },
+    });
+  },
+};