尽管能够优化单个“嗅探”实现很重要,但我的问题并不是关于这个。
我真正想做的是在几秒钟内对我的整个代码库(包含几百万行 PHP 代码)运行我最喜欢的十几个嗅探。
我最喜欢的每个嗅探都需要不到 2 秒的时间来针对我的代码库中的每个文件运行,所以原则上没有理由(假设我暂时没有使用任何“多文件嗅探”)我做不到这是通过将问题分解为几十万个“工作”,将它们分布在(大量)“工人”海洋中并行运行,并汇总结果。
我希望有人已经使用用于构建大规模可扩展应用程序的几种流行框架之一完成了此(或类似的事情),并有一些实用的建议可以分享。
编辑:
速度实际上对我很重要,因为我想在“构建”软件版本时使用 CodeSniffer 对源代码进行一些静态分析,并且我希望整个构建过程在几分钟而不是几小时(甚至几天)内运行。我很欣赏这不是 CodeSniffer 最初设计的使用方式(例如,作为一个 IDE 插件,它可以在您提交代码更改之前向您显示潜在的问题),但我发现“嗅探”的灵活性使 CodeSniffer 成为开发静态分析应用程序的理想工具。