Specifically, there aren't many reasons for your fastest IPC to be slower than a long function call.
Saying "long function call" doesn't mean much since a function can take infinitely long.
Linux is optimizing sockets with a similar goal. And it's quite far on that direction. But there's still some margin to gain.