Yani ben denedim:Yükseltme asio soketi: dosyayı sabit diskten okumak için en hızlı yol?
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);
}
ben bunu nasıl merak - nasıl daha hızlı yapmak?
uygulamam, Windows, Linux ve Mac OS üzerinde çalışmak zorundadır. İşte bu yüzden çok fazla kullanıyorum. Test için ab
kullanıyorum. Dosyaları okumak ve göndermek için 2 veya en az 1,5 kat daha hızlı olmak istiyorum. Boost olabilir :: Iostream bana nasıl yardımcı olabilir? Ne optimize etmeye çalışıyorsanız bir soket üzerinde diskten bir dosya gönderme ise, Linux üzerinde iseniz
Bir seferde kaç dosya gönderirsiniz (birbiri ardına)? Dosyalarınız genellikle ne kadar büyük? –