Java中的BufferedReader读取行可以有多快?
在以前的一篇文章中,我问C++从一个文本文件中读取文件有多快。答案大约是2 GB/s,比一些最好的磁盘驱动和网络连接要稍微慢一点。如果你考虑到软件很少仅仅只是读取行,构建一个和处理器绑定的文件处理系统就很容易了,和网络或网络绑定相反。
Java的性能如何?在Java中,从文件中读取行的标准方式是使用BufferedReader。为了避免系统调用,我创建了一个包含很多行字符串的文件,然后用很简单的程序去处理,仅仅是记录了长度和字符串。
结果Java比C++要慢四倍,在同样的系统中,Java的速度是0.5 GB/s。
Origin: https://lemire.me/blog/2019/07/26/how-fast-can-a-bufferedreader-read-lines-in-java/