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
Currently Hchan is 12 words (on 64-bit machine). It would be nice to squeeze it into 8
words. First it's just memory consumption reduction, and second it will be exactly cache
line (and due to malloc alignment, it will be also cache line aligned) which will
speedup contented synchronization - ping-pong only one line instead of two + no false
sharing.
elemtype goes away as it is not needed.
dataqsiz is a derivative of qcount/sendx/recvx, so it just goes away as well.
recvq/sendq can be reduced to 1 pointer to a head of doubly-linked cycle of waiters.
This gives exactly 8 words.
FTR, here is a CL that lowers OCAP/OLEN for chans into runtime calls (necessary to
remove dataqsiz):
https://golang.org/cl/54570046/
The text was updated successfully, but these errors were encountered:
The text was updated successfully, but these errors were encountered: