jkorous added a comment.

We did performance tests of alternative approach - just hashing the serialized 
bit code representation. There's a performance regression in the sense that 
while the current implementation costs approx. extra 2.2% in build time the 
alternative approach costs 3.8%.

We are not happy about the regression but the best way to fix the current 
implementation seems to be using the alternative approach as a temporary 
solution. The plan is to move on with upstreaming the rest of the 
index-while-building so we can optimize the hasher after i-w-b lands - possibly 
using the ODR violation hasher.

This means the whole implementation will become just:

  hash_code RecordHash = hash_combine_range(State.Buffer.begin(), 
State.Buffer.end());

where

  SmallString<512> Buffer;

Due to necessary change in interface of `IndexRecordWriter` I'll abandon this 
patch and land the new hasher later.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58749/new/

https://reviews.llvm.org/D58749



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to