在处理大量数据时,最大限度地减少数据库请求的数量和执行大容量操作对性能有很大帮助。
问题:能否在Linux上一次/批量地检索10,000个文件的mtime?
我希望尽量减少系统呼叫。
在这里找不到什么:节点/index.html
PS:目前,我使用python:os.walk检索这些文件名。
发布于 2018-06-17 14:02:07
(很难找到声称某物不存在的来源;)
用于fstat的Linux手册页没有链接到任何有关大容量stat请求的内容,所以我假设它不存在。
此外,如果您接受使用python带来的巨大性能损失,您不应该关心优化操作系统中最优化的事情之一。由于Python具有动态的高级别特性,因此它本身就很慢,因此更有效的优化包括:
快速的经验法则:除非你的程序没有消耗100%的CPU核心(或者你的CPU的一个核心用于本质上不可并行的任务),你不应该考虑优化任何东西,除了你当前的代码在算法,网络和并发级别。
语言设计的一部分是编程速度和执行平衡速度。实现更快的执行速度需要程序员提供更多的输入,并减缓开发速度。如果您的程序最慢的位置是10000 syscalls,那么您肯定应该用C编写它,但是我相信您可以在程序中找到很多其他的东西来优化。
我建议使用分析器(例如,内置于配置文件中)来查看代码中的真正热点。
https://stackoverflow.com/questions/50896965
复制相似问题