Page MenuHomePhabricator

Split SectionPiece in its parts
Needs ReviewPublic

Authored by espindola on Apr 6 2018, 6:53 PM.

Details

Reviewers
ruiu
Summary

More testing in an oldish xeon shows that almost half of the time in the getOffset method is because of one memory access, the one fetching OutputOff in

return Pieces[It->second].OutputOff;

putting all the OutputOff in a single vector improves it.

Diff Detail

Event Timeline

espindola created this revision.Apr 6 2018, 6:53 PM

Benchmark on a i7-7567U

smeenai added a subscriber: smeenai.Apr 6 2018, 9:27 PM

Patch is missing context.

espindola updated this revision to Diff 141474.Apr 6 2018, 9:47 PM

now with context.

Results on a

E5-2697 v2

espindola updated this revision to Diff 143212.Apr 19 2018, 6:37 PM
espindola edited the summary of this revision. (Show Details)

Have the OutputOffsets store just a uint64_t. This uses a bit of the hash for the live bit.

With this there is nothing to do after the load other that return the value, which should allow pipelining the relocation loop.