だから私は試してみました:ブーストasioソケット:ハードドライブからファイルを読み込む最速の方法は?
int buff_length = 8192;
ifstream stream;
char* buffer = new char[buff_length];
stream.open(path.string().c_str(), ios::binary);
boost::system::error_code ignored_error;
while (stream)
{
stream.read(buffer, buff_length);
boost::asio::write(*socket, boost::asio::buffer(buffer, stream.gcount()),
boost::asio::transfer_all(), ignored_error);
}
を、私はあなたがそれを行う方法を疑問に思う - より速くそれを行う方法?
私のアプリはWindows、Linux、Mac OSで動作します。それで私はブーストをたくさん使うのです。私はab
を使ってテストしています。私は、ファイルを読んだり、送信したりするのに2倍以上、あるいは少なくとも1.5倍速くしたいと思っています。 Boost :: Iostreamはどのように手助けできますか?何を最適化しようとしていることは、ソケット間でディスクからファイルを送信している場合は、Linux上でなら
一度にいくつのファイルを送信しますか(1つずつ)ファイルのサイズは通常どのくらいですか? –