You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 29, 2026. It is now read-only.
Lock-free channels: Use atomic operations instead of mutex
Zero-copy for large values: Pass pointers instead of copying
Channel fusion: Optimize known patterns (fan-out, pipeline)
Benchmark Code
: worker-loop ( Channel Channel Int -- )
2 pick chan.receive drop
chan.yield
dup 0 i.< if
drop swap chan.send drop drop
else
drop 1 i.+ worker-loop
then
;
: producer ( Channel Int -- )
dup 0 i.> if
dup 2 pick chan.send drop
1 i.- producer
else
drop drop
then
;
Success Criteria
Throughput within 100x of Go (target: < 3,000ms for 100k messages)
Current State
Fanout benchmark: 1 producer → 10 workers → 100k messages
Root Causes
chan.yieldcalls between operationsPotential Approaches
Near-term
IntChanneltype that passes i64 directly without boxingchan.send-all/chan.receive-noperationsLong-term
Benchmark Code
Success Criteria