Page MenuHomePhabricator

Split SectionPiece in its parts
Needs ReviewPublic

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



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.