我的perl脚本对时间非常敏感,需要另一个库中的单个函数foobar
。目前,该脚本使用执行此操作
use lib qw(/usr/lib/foo/);
不幸的是,这个库相当迟钝,这一行导入了数百个文件和子目录,占用了大约一秒钟的处理时间。
foobar
是在/usr/lib/foo/bar.pm
中定义的,所以我不能进一步缩小use lib
的范围foobar
不依赖于库中的任何其他文件——如果我将其他文件从/usr/lib/foo/
中移出,它的执行速度至少快10倍,所以我只是尽量避免这种情况。我确实希望bar.pm会随着时间的推移而改变,所以制作自己的独立库并不理想
什么是最干净的方法来提取这个.pm文件而不提取其他文件?理想情况下进入主名称空间,这样我就可以直接调用函数,而不需要破坏编码风格。在一个理想的世界里,我只能使用use lib qw(/usr/lib/foo/bar.pm)
,但它不是那样的。
lib不拉入任何内容。bar是(直接或间接(拉入所有其他模块的模块。如果您想加载条而不想加载其他条,则必须更改条。