unix中sort命令的性能

发布于 2024-11-14 01:00:34 字数 157 浏览 3 评论 0原文

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

命令:sort log.txt 比命令:cat log.txt | 慢最多 3 秒 有人知道为什么

会发生这种情况吗?

I am writing a custom apache log parser for my company and I noticed a performance issue that I can't explain. I have a text file log.txt with size 1.2GB.

The command: sort log.txt is up to 3 sec slower than the command: cat log.txt | sort

Does anybody know why this is happening?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

喜你已久 2024-11-21 01:00:34

cat 文件 | sort 是对 Cat 的无用使用

cat的目的是连接
(或“连接”)文件。如果只是
一个文件,将其与
没有什么是浪费时间的,并且
花费你一个过程。

应该不会需要更长的时间。你确定你的时间安排正确吗?

请发布以下输出:

time sort file

并且

time cat file | sort

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

cat file | sort is a Useless Use of Cat.

The purpose of cat is to concatenate
(or "catenate") files. If it's only
one file, concatenating it with
nothing at all is a waste of time, and
costs you a process.

It shouldn't take longer. Are you sure your timings are right?

Please post the output of:

time sort file

and

time cat file | sort

You need to run the commands a few times and get the average.

℉服软 2024-11-21 01:00:34

您不必担心 sort 的性能,而是应该更改日志记录:

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

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

Instead of worrying about the performance of sort instead you should change your logging:

  • Eliminate unnecessarily verbose output to your log.
  • Periodically roll the log (based on either date or size).
  • ...fix the errors outputting to the log. ;)

Also, are you sure cat is reading the entire file? It may have a read buffer etc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文