vsapsai added a comment. It's good to know `ASTReader::ReadMethodPool` is pretty close for both approaches. And as far as I understand, it includes the code
ReadMethodPoolVisitor Visitor(*this, Sel, PriorGeneration); ModuleMgr.visit(Visitor); so the module visiting doesn't seem to be too expensive. I can be wrong but I like writing less data as it can result in savings for more projects. For example, if compile time is dominated by method deserialization and not by `Sema::addMethodToGlobalList`, we still should see an improvement. I can try to experiment on a bunch of other projects and their heavy .m files and report the results, if you'd like. Also I've updated D110123 <https://reviews.llvm.org/D110123> to preserve the order of methods (mostly, there are still some differences). Works better than the previous approach, compilation time difference is within the noise. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D109632/new/ https://reviews.llvm.org/D109632 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits