FileWalker 剪枝 + 多线程优化 我们工程内会在编译和同步阶段首先获取到整个工程的模型,之后计算出每个模块的version版本。 value }.forEachIndexed { _, file -> action.invoke(file) } } 优化效果如下,原本没有剪枝的版本,我们本机进行一次FileWalker Executors.newCachedThreadPool().invokeAll(callableList) 整体优化下来,原来在CI上一次FileWalker需要1mins,因为CI的机器足够牛逼,