2017-03-26Rustが得意なフレンズになりたくて、人の書いたCのコードを、Rustに写経しています。作っていたら、ファイルI/Oが、悲惨なレベルで遅いことに気づきました。タイトル読めば分かりますよね。read_exactは、バッファリングされていません。このコードは、4バイトずつ読み書きするために10万回のシステムコールを呼び出します。そっちはバッファリングされているらしいのです。バッファーリングされたストリーム入出力インターフェースを提供する。ふぇぇ、manページの最初に書いてあるのに、知らなかったし、考えたこともなかった。使うとCと互角の速度になりました。Thanks本気で原因分からなかったので、StackOverflowで質問し、教えていただきました。