In the interest of full disclosure, the code is now available on github: 
https://github.com/zorts/pause_release

As noted way back in my original posting, the code is unauthorized, uses only 
TCBs, and ping-pongs between two tasks. I'm running this code on a moderately 
loaded z13, native z/OS 2.2 LPAR with many CPUs and zIIPs (though, since it's 
unauthorized, this code is only using CPUs).

I believe the ping-pong nature of the test explains why the impact of the 
"fast" wait/post code has relatively little impact on the measured performance; 
the inner loop is so small that an actual WAIT or POST is required for every 
iteration.

This is by no means "real world" code, and I would never call it a "benchmark". 
However, I do believe it correctly illustrates the difference in performance 
between various synchronization mechanisms in its admittedly limited set of 
test cases. 

It's great that this has stimulated the discussion it has; I've learned a lot.

-- Jerry

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to