unix中sort命令的性能

时间:2011-06-03 10:24:44

标签: linux unix sorting pipe

我正在为我的公司编写一个自定义的apache日志解析器,我注意到一个我无法解释的性能问题。我有一个大小为1.2GB的文本文件log.txt。

命令:sort log.txt比命令:cat log.txt |慢3秒排序

有人知道为什么会这样吗?

2 个答案:

答案 0 :(得分:4)

cat file | sortUseless Use of Cat

  

cat的目的是连接   (或“catenate”)文件。如果是的话   一个文件,连接它   什么都不浪费时间,而且   花费你一个过程。

不应该花更长的时间。你确定你的时间是对的吗?

请发布:

的输出
time sort file

time cat file | sort

您需要运行几次命令并获得平均值。

答案 1 :(得分:1)

您应该更改日志记录,而不是担心sort的效果:

  • 消除对日志的不必要的详细输出。
  • 定期滚动日志(基于日期或大小)。
  • ...修复输出到日志的错误。 ;)

另外,你确定猫正在读整个文件吗?它可能有一个读缓冲区等。