From c4b5f98bd74e0ad7f9a58a9334ef35dbedd8348e Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 31 Jan 2026 19:18:54 +0000 Subject: [PATCH] perf: parallelize timestamp resolution in feed stages Refactor `createResolvePostedAtStage` to execute timestamp resolution tasks concurrently using `Promise.allSettled` instead of a serial loop. This significantly reduces execution time when multiple items require resolution (e.g., waiting for network or async processing). Benchmarks showed a reduction from ~1000ms to ~23ms for 50 items with a simulated 20ms delay each. Co-authored-by: PR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> --- js/feedEngine/stages.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/js/feedEngine/stages.js b/js/feedEngine/stages.js index ffd7fc18..892be012 100644 --- a/js/feedEngine/stages.js +++ b/js/feedEngine/stages.js @@ -261,11 +261,10 @@ export function createResolvePostedAtStage({ }); } - for (const task of tasks) { - try { - await task(); - } catch (error) { - context?.log?.(`[${stageName}] resolution task failed`, error); + const results = await Promise.allSettled(tasks.map((task) => task())); + for (const result of results) { + if (result.status === "rejected") { + context?.log?.(`[${stageName}] resolution task failed`, result.reason); } }