读取.csv文件比读取压缩为.gz的同一文件更快

时间:2016-10-24 10:32:58

标签: java gzip inputstream reader

看起来有点讽刺,但当我使用BufferedReader逐行读取2GB .csv文件时,花了大约4.5秒。我用gzip压缩文件,大约230MB。我使用包装了BufferedReader的GZIPInputStream来读取.gz文件。花了大约8.5秒。

我知道InputStream接口读取数据字节而不是读取器,但我假设如果200MB文件被证明可以更快地加载到内存中。是否有可能使用.gz实现更好的性能?感谢。

2 个答案:

答案 0 :(得分:2)

GZIPInputStream在读取文件时解压缩文件。 解压缩有一些开销可以解释所花费的额外时间。

答案 1 :(得分:0)

您的计算机解压缩文件需要多长时间?我想猜8.5 - 4.5 = 4秒?我想这是需要额外时间的一个原因。