Sharing no longer looks up each shared card on its own

After every start, and after each share, Obeya asks each demo site which pages another machine withdrew or took offline. For that it went over all shared cards, 351 on the Obeya canvas, and built each one separately, several times over: an archived card's row was read again and again and the card assembled alone each time. While that ran, the server answered nothing; the stall log showed it standing still for up to 4.8 seconds.

Now the pass builds all shared cards together, once, and reads where each page goes from the data it already holds.

One pass over the shared cards, on a copy of the real database (351 shared cards on the Obeya canvas)

BeforeAfter

Database reads

Time the server stands still (idle laptop)

The same as a table

MeasurementBeforeAfter
Database reads per pass (real data)3,3605
Server stands still per pass (real data, idle laptop)≈ 60 ms≈ 17 ms
CPU per pass in the new test, in rebuilds of the canvas view (hundreds of archived, shared cards)≈ 8≈ 2

What to know

On an idle laptop the old pass took 60 ms, not the 4.8 s from the log. The long stalls happened while the Mac was busy (right after a restart, with other work running). That kind of load could not be reproduced here. What the change removes is the work that such load slows down: thousands of single reads become five. A test now fails if the pass costs more than four rebuilds of the canvas view. Before the change it cost eight.