多くのオープン ソース フレームワークと tcp/ip のベスト プラクティスでは、トランスポート用に tcp レイヤーに渡したバッファーを再利用しないように提案しているのを見てきました。その背後にある理由は何ですか?バッファが単にカーネルにコピーされるというのは真実ではないので、バッファを再利用しないことについてのパルナオイアは何ですか? 上記の典型的な例は次のようになります
char data[1024] = {'1', '2'.................'1024'};
write(socket, data, 1024);
data = {'a', 'b','c'...........}; //reusing the buffer
ZeroMQ は、バッファを作成して削除するための API を提供しますが、使用しないことを強くお勧めします。Netperf はリングバッファを作成し、現在ソケットに書き込んでいるバッファを再利用しないようにします。