This PR removes an unnecessary closure allocation in recv' and send' by factoring out the loop function in each and making recv'/send' recursive . It also adds a simple task_throughput test program which is quick and easy to see the impact of task changes.
For OCAMLRUNPARAM=v=0x400 task_throughput.exe 4, I see:
This PR removes an unnecessary closure allocation in
recv'
andsend'
by factoring out theloop
function in each and makingrecv'
/send'
recursive . It also adds a simpletask_throughput
test program which is quick and easy to see the impact of task changes.For
OCAMLRUNPARAM=v=0x400 task_throughput.exe 4
, I see:allocated_words: 3017378
allocated_words: 2725132