我正在为我的公司编写一个自定义的apache日志解析器,我注意到一个我无法解释的性能问题。我有一个大小为1.2GB的文本文件log.txt。
命令:sort log.txt比命令:cat log.txt |慢3秒排序
有人知道为什么会这样吗?
答案 0 :(得分:4)
cat file | sort
是Useless Use of Cat。
cat的目的是连接 (或“catenate”)文件。如果是的话 一个文件,连接它 什么都不浪费时间,而且 花费你一个过程。
不应该花更长的时间。你确定你的时间是对的吗?
请发布:
的输出time sort file
和
time cat file | sort
您需要运行几次命令并获得平均值。
答案 1 :(得分:1)
您应该更改日志记录,而不是担心sort
的效果:
另外,你确定猫正在读整个文件吗?它可能有一个读缓冲区等。