rmaz added a comment.

In D109632#3046976 <https://reviews.llvm.org/D109632#3046976>, @vsapsai wrote:

> These are interesting results. I'm curious to measure the time spent in 
> `ASTReader::ReadMethodPool`.

Updated numbers from today, looks like we added a lot more modular deps since 
last week.

| **Method**  | **# Module File Lookups** | **# Module File Hits** | **# 
Instance Methods Deserialized** | **# Class Methods Deserialized** | **ms in 
`ASTReader::ReadMethodPool`** |
| Baseline    | 139140                    | 577                    | 254304     
                         | 119907                           | 15759             
                    |
| Set Dedupe  | 139140                    | 577                    | 38815      
                         | 19125                            | 421               
                    |
| No external | 157677                    | 1595                   | 5036       
                         | 2428                             | 430               
                    |
|

The time taken in `ASTReader::ReadMethodPool` ends up very close. This was 
previously dominated by `Sema::addMethodToGlobalList`, and both approaches will 
end up with the same number of calls to this method, so maybe this is not so 
surprising. The difference comes down to: is it faster to descend into all 
build dependent modules to deserialize only the methods you need or is it 
faster to deserialize from the first module with overlap and skip the duplicate 
inserts with a hashmap lookup. The numbers would suggest the latter, and this 
approach also has the benefit of requiring no other changes as the method 
insert order to the global list should be identical.


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

Reply via email to