我正在使用 Perl readdir 来获取文件列表,但是,该目录包含超过 250,000 个文件,这导致执行 readdir 的时间很长(超过 4 分钟)并使用超过 80MB 的 RAM。由于这是每 5 分钟重复一次的工作,因此这种延迟时间是不可接受的。
更多信息:另一个作业将填充正在扫描的目录(每天一次)。这个 Perl 脚本负责处理文件。为每个脚本迭代指定一个文件计数,当前每次运行 1000 个。Perl 脚本每 5 分钟运行一次并处理(如果适用)多达 1000 个文件。文件计数限制旨在允许下游处理跟上 Perl 将数据推送到触发复杂工作流程的数据库。
是否有另一种从目录中获取文件名的方法,理想情况下限制为 1000(由变量设置),这将大大提高该脚本的速度?