看起来有点讽刺,但当我使用BufferedReader逐行读取2GB .csv文件时,花了大约4.5秒。我用gzip压缩文件,大约230MB。我使用包装了BufferedReader的GZIPInputStream来读取.gz文件。花了大约8.5秒。
我知道InputStream接口读取数据字节而不是读取器,但我假设如果200MB文件被证明可以更快地加载到内存中。是否有可能使用.gz实现更好的性能?感谢。
答案 0 :(得分:2)
GZIPInputStream在读取文件时解压缩文件。 解压缩有一些开销可以解释所花费的额外时间。
答案 1 :(得分:0)
您的计算机解压缩文件需要多长时间?我想猜8.5 - 4.5 = 4
秒?我想这是需要额外时间的一个原因。