如何提高PHP CodeSniffer的执行时间


How to improve PHP CodeSniffer execution time?

虽然能够优化单个"嗅探"实现很重要,但我的问题并不是关于这个。

我真正想做的是在几秒钟内对我的整个代码库(包含数百万行PHP代码)运行我最喜欢的几十个左右的嗅探。

我最喜欢的每个嗅探器对代码库中的每个文件的运行时间都不到2秒,所以原则上没有理由(假设目前我没有使用任何"多文件嗅探器")我不能通过将问题分解为几十万个"作业",将它们分布在(大量)"工人"海洋中并行运行,并汇总结果来做到这一点。

我希望有人已经这样做了(或类似的事情),使用几个流行的框架之一来构建大规模可扩展的应用程序,并有一些实用的建议来分享。

编辑:

速度实际上对我很重要,因为我想在"构建"软件发布时使用CodeSniffer对源代码进行一些静态分析,并且我希望整个构建过程在几分钟内运行,而不是几小时(甚至几天)。我明白这不是CodeSniffer最初设计的使用方式(例如,作为一个IDE插件,可以在提交代码更改之前显示您的代码更改中的潜在问题),但我发现"嗅探"的灵活性使CodeSniffer成为开发静态分析应用程序的理想工具。

我也对CodeSniffer的吞吐量感到沮丧。我能找到的最好方法就是去除那些我不关心检查的嗅探器。我还怀疑某些嗅探器比其他嗅探器更昂贵,这取决于每个嗅探器必须执行的解析量。