There also is splice: https://www.man7.org/linux/man-pages/man2/splice.2.html
Which allows to move memory from one process to the next using pipes without copying data. So maybe a bit of a mix between shared memory and pipes.
Maybe it would be interesting to see that in the comparison as well...