[PATCH] D58749: [index-while-building] IndexRecordHasher

Jan Korous via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 11 20:08:48 PDT 2019


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





More information about the cfe-commits mailing list