视操作系统而定
可以,但都是调系统 API... shmget, GlobalAlloc 了解一下
做进程间通信,一般 socket 读写就可以了,建议 Unix Domain Socket
最好不要共享内存啦,想好用 0mq 了解一下,想快 cap'n proto 了解一下
Unix Domain Socket 的话缓存也是 65536 和 pipe 是一样的把,如果我想缓存多该怎么做呢,另外我想问调用系统 API 是否需要与 C 做交互,那么需要栈来传递变量,这样会变得得不偿失。
要那么大的缓冲区干吗?应该在缓冲区满的时候暂停写入
http://pubs.opengroup.org/onlinepubs/000095399/functions/setsockopt.html
Socket 可以设置 buffer 大小,SO_SNDBUF 和 SO_RCVBUF
是需要和 C 交互,但是 Ruby 给你包装好了:https://ruby-doc.org/stdlib-2.5.1/libdoc/socket/rdoc/BasicSocket.html#method-i-setsockopt
程序不是这么优化的,你先 profile 一下看看是否真的慢和慢在哪里