gpt4 book ai didi

python - 如何在 FUSE readdir 调用中返回文件统计信息?

转载 作者:太空宇宙 更新时间:2023-11-03 18:11:02 24 4
gpt4 key购买 nike

我已经实现了一个 FUSE 文件系统,现在我正在尝试优化性能,因为包含数千个文件的目录的等待时间会达到几秒钟。

一些日志记录显示,在返回文件名列表后,会为每个文件调用一次 getattr (对于包含 10,000 个文件的测试目录,调用 10,000 次),结果是5 秒等待时间变为 20 秒等待时间的四倍。

我使用的 FUSE 版本 [1] 似乎支持返回元组列表 (name, stat, offset) 以及名称列表,因此我尝试返回

(
'<file_name>',
<stat with st_atime, st_mtime, st_mode, st_uid, st_gid, st_size>,
0,
)

对于每个文件,但仍为每个文件调用一次 getattr

有人知道我在 stat 中缺少什么导致操作系统仍然调用 getattr 吗?或者我无能为力来改变这种行为?

[1]

Copyright (c) 2008 Giorgos Verigakis

__version__ = '1.1'

最佳答案

我发现调用 getattr 的次数超出了您的控制范围。根据您的实现,您可以通过在 getattr 中缓存结果来提高性能。

关于python - 如何在 FUSE readdir 调用中返回文件统计信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25938832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com