Commit fe3dfbc
committed
demonstrate new publisher
depends on graphql#3784
The proposed new publisher does not use the event loop to manage AsyncRecord dependencies => and so if multiple items within a stream are released from publishing because their parent has just been published, they are all released at once.
Another difference is that different sets are used to store the AsyncRecords that are pending vs ready for publishing, etc. This provides a performance benefit in that on a call to next, the set of all AsyncRecords is not inspected. As a side-effect of this change, the incremental array is ordered by which items are ready for delivery first, and not by the initial document.
The subscribe algorithm used does not use Promise.race -- this may also be beneficial as the implementation of Promise.race within V8 has a known memory leak for long-running promises. (see https://bugs.chromium.org/p/v8/issues/detail?id=9858)1 parent 26002c8 commit fe3dfbc
File tree
4 files changed
+195
-182
lines changed- src/execution
- __tests__
4 files changed
+195
-182
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
605 | 605 | | |
606 | 606 | | |
607 | 607 | | |
608 | | - | |
609 | | - | |
610 | | - | |
611 | | - | |
612 | | - | |
613 | 608 | | |
614 | 609 | | |
615 | 610 | | |
| |||
653 | 648 | | |
654 | 649 | | |
655 | 650 | | |
656 | | - | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | 651 | | |
662 | 652 | | |
663 | 653 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
159 | 158 | | |
160 | 159 | | |
161 | 160 | | |
| |||
173 | 172 | | |
174 | 173 | | |
175 | 174 | | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
185 | 180 | | |
186 | 181 | | |
187 | 182 | | |
| |||
230 | 225 | | |
231 | 226 | | |
232 | 227 | | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | 228 | | |
239 | 229 | | |
240 | 230 | | |
| |||
296 | 286 | | |
297 | 287 | | |
298 | 288 | | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | 289 | | |
305 | 290 | | |
306 | 291 | | |
| |||
379 | 364 | | |
380 | 365 | | |
381 | 366 | | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | 367 | | |
388 | 368 | | |
389 | 369 | | |
390 | 370 | | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | 371 | | |
397 | 372 | | |
398 | 373 | | |
| |||
483 | 458 | | |
484 | 459 | | |
485 | 460 | | |
486 | | - | |
487 | | - | |
488 | | - | |
489 | | - | |
490 | | - | |
491 | 461 | | |
492 | 462 | | |
493 | 463 | | |
| |||
585 | 555 | | |
586 | 556 | | |
587 | 557 | | |
588 | | - | |
589 | | - | |
590 | | - | |
591 | 558 | | |
592 | 559 | | |
593 | 560 | | |
| |||
627 | 594 | | |
628 | 595 | | |
629 | 596 | | |
630 | | - | |
| 597 | + | |
631 | 598 | | |
632 | 599 | | |
633 | 600 | | |
| |||
656 | 623 | | |
657 | 624 | | |
658 | 625 | | |
659 | | - | |
| 626 | + | |
660 | 627 | | |
661 | 628 | | |
662 | | - | |
663 | 629 | | |
664 | 630 | | |
665 | 631 | | |
| |||
887 | 853 | | |
888 | 854 | | |
889 | 855 | | |
890 | | - | |
891 | | - | |
892 | | - | |
893 | | - | |
894 | | - | |
895 | 856 | | |
896 | 857 | | |
897 | 858 | | |
| |||
980 | 941 | | |
981 | 942 | | |
982 | 943 | | |
983 | | - | |
984 | | - | |
985 | | - | |
986 | | - | |
987 | | - | |
988 | 944 | | |
989 | 945 | | |
990 | 946 | | |
| |||
1140 | 1096 | | |
1141 | 1097 | | |
1142 | 1098 | | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
1143 | 1103 | | |
1144 | 1104 | | |
1145 | 1105 | | |
| |||
1151 | 1111 | | |
1152 | 1112 | | |
1153 | 1113 | | |
1154 | | - | |
1155 | | - | |
1156 | | - | |
1157 | | - | |
1158 | 1114 | | |
1159 | 1115 | | |
1160 | 1116 | | |
| |||
1258 | 1214 | | |
1259 | 1215 | | |
1260 | 1216 | | |
1261 | | - | |
1262 | | - | |
1263 | | - | |
1264 | 1217 | | |
1265 | 1218 | | |
1266 | 1219 | | |
| |||
1407 | 1360 | | |
1408 | 1361 | | |
1409 | 1362 | | |
1410 | | - | |
1411 | | - | |
1412 | | - | |
1413 | 1363 | | |
1414 | 1364 | | |
1415 | 1365 | | |
| |||
1463 | 1413 | | |
1464 | 1414 | | |
1465 | 1415 | | |
1466 | | - | |
1467 | | - | |
1468 | | - | |
1469 | | - | |
1470 | | - | |
1471 | | - | |
1472 | | - | |
1473 | | - | |
1474 | | - | |
1475 | 1416 | | |
1476 | 1417 | | |
1477 | 1418 | | |
| |||
1481 | 1422 | | |
1482 | 1423 | | |
1483 | 1424 | | |
1484 | | - | |
1485 | | - | |
| 1425 | + | |
| 1426 | + | |
1486 | 1427 | | |
1487 | 1428 | | |
1488 | 1429 | | |
| |||
1494 | 1435 | | |
1495 | 1436 | | |
1496 | 1437 | | |
1497 | | - | |
1498 | | - | |
| 1438 | + | |
| 1439 | + | |
1499 | 1440 | | |
1500 | 1441 | | |
1501 | 1442 | | |
1502 | | - | |
1503 | | - | |
| 1443 | + | |
| 1444 | + | |
1504 | 1445 | | |
1505 | 1446 | | |
1506 | 1447 | | |
| |||
0 commit comments