From 2128089d94a9a7345775e2725347713a66987039 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Thu, 1 Oct 2026 09:00:49 +0100 Subject: Measure one sending loop against a thread a link, with and without push (028) Five rounds of 1,000 bursts by one link, four links and one wire, four builds in turns: a thread a link (966b82f), those threads with push (threads-push.patch), the loop (99b2219), the loop with push (94e7bb8). Medians: one link 597k, 923k, 525k, 897k sends/s; four links 506k, 799k, 268k, 800k; the wire as it was, 789k to 794k. --- research/experiments/028-one-sending-loop/src.aup | 29 +++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 research/experiments/028-one-sending-loop/src.aup (limited to 'research/experiments/028-one-sending-loop/src.aup') diff --git a/research/experiments/028-one-sending-loop/src.aup b/research/experiments/028-one-sending-loop/src.aup new file mode 100644 index 0000000..6bb9c42 --- /dev/null +++ b/research/experiments/028-one-sending-loop/src.aup @@ -0,0 +1,29 @@ +record Item { + k = 0 +} +state items: list of Item +input fill = message { k: u32 } +input burst = message { step: u32 } +input burst4 = message { step: u32 } +output out = message { k: u32 } +output o1 = message { k: u32 } +output o2 = message { k: u32 } +output o3 = message { k: u32 } +output o4 = message { k: u32 } +on fill { + items.append(Item { k: fill.k }) +} +on burst { + for i in items { + send out { k: i.k + burst.step } + } +} +on burst4 { + for i in items { + send o1 { k: i.k + burst4.step } + send o2 { k: i.k + burst4.step } + send o3 { k: i.k + burst4.step } + send o4 { k: i.k + burst4.step } + } +} +view count = count(i in items where i.k > 0) -- cgit v1.2.3