为了比较C和Rust之间的文件I/O性能,我将"test"写入100,000,000次文件并从文件中读取4个字节100,000,000次.
与C相比,Rust代码花费了超过450倍的sys时间用于写入,140次用于读取.
我怀疑有更好的方法来实现快速I/O; 如何提高Rust中文件I/O的性能?
$ rustc --version
rustc 1.16.0
$ rustc rswrite.rs -C opt-level=3 # Rust for writing
$ time ./rswrite
real 1m8.411s
user 0m3.817s
sys 1m4.533s
$ rustc rsread.rs -C opt-level=3 # Rust for reading
$ time ./rsread
real 0m18.077s
user 0m2.130s
sys 0m15.910s
$ gcc -O3 cwrite.c -ocwrite # C for writing
$ time ./cwrite
real 0m1.564s
user 0m1.397s
sys 0m0.143s
$ gcc -O3 cread.c -ocread # C for reading
$ time ./cread
real 0m1.353s
user 0m1.240s
sys …Run Code Online (Sandbox Code Playgroud)