首页 > 解决方案 > Linux 批量 mtime

问题描述

在处理大量数据时,尽量减少数据库请求的数量并执行批量操作反而对性能有很大帮助。

问题:是否可以在 Linux 上一次/批量检索 10,000 个文件的 mtimes?

我希望尽量减少系统调用。

在这里找不到东西:http ://www.gnu.org/software/libc/manual/html_node/index.html

PS:目前,我使用 python:os.walk 检索这些文件名。

标签: pythonlinuxperformancesystem-callsstat

解决方案


很难找到声称不存在某些东西的消息来源;)

fstat 的 Linux 手册页没有链接到有关批量统计请求的任何内容,所以我认为它不存在。

此外,如果您接受使用 python 的巨大性能损失,您不应该关心优化操作系统中最优化的东西之一。由于其动态的高级特性,Python 天生就很慢,因此更有效的优化包括:

快速的经验法则:在您的程序不消耗 100% 的所有 CPU 内核(或 CPU 的一个内核用于固有的不可并行任务)之前,您不应该考虑在算法、网络和并发级别上优化除当前代码之外的任何内容.

语言设计的一部分是编程速度与执行速度的平衡。实现更快的执行速度需要程序员提供更多的输入并减慢开发速度。如果你的程序最慢的地方是 10000 个系统调用——那么你肯定应该用 C 来编写它,但我相信你可以在你的程序中找到很多其他的东西来优化。

我建议使用分析器(例如内置profile)来查看代码中的真实热点。


推荐阅读