From 71e59639c99cc6e8755a4e666c100349b4145084 Mon Sep 17 00:00:00 2001 From: ernisto Date: Fri, 11 Apr 2025 14:06:35 -0300 Subject: [PATCH] test: add benchmark `update 1000->1 graph` that updates only 1 dependency --- test/benchmarks.luau | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/test/benchmarks.luau b/test/benchmarks.luau index 690c8b9..b352aea 100644 --- a/test/benchmarks.luau +++ b/test/benchmarks.luau @@ -135,8 +135,25 @@ ROOT_BENCH("update 1->1->1->1...1000 graph", function() end end) --- todo: why does it hang at 1k? it didn't before -ROOT_BENCH("update 500->1 graph", function() +ROOT_BENCH("update 1000->1 graph", function() + local srcs = {} + for i = 1, 1000 do + srcs[i] = source(0) + end + + derive(function() + for i = 1, 1000 do + srcs[i]() + end + return false + end) + + for idx = 1, START(1000) do + srcs[idx](idx) + end +end) + +ROOT_BENCH("update all parents of 500->1 graph", function() local srcs = {} for i = 1, 500 do srcs[i] = source(0) @@ -156,7 +173,7 @@ ROOT_BENCH("update 500->1 graph", function() end end) -ROOT_BENCH("update 1000->1 graph (batched)", function() +ROOT_BENCH("update all parents of 1000->1 graph (batched)", function() local srcs = {} for i = 1, 1000 do srcs[i] = source(0)