HomePhabricator

Store the hash in SectionPiece.
Audit RequiredrL283367

Description

Store the hash in SectionPiece.

This spreads out computing the hash and using it in a hash table. The
speedups are:

firefox

master 6.811232891
patch  6.559280249 1.03841162939x faster

chromium

master 4.369323666
patch  4.33171853 1.00868134338x faster

chromium fast

master 1.856679971
patch  1.850617741 1.00327578725x faster

the gold plugin

master 0.32917962
patch  0.325711944 1.01064645023x faster

clang

master 0.558015452
patch  0.550284165 1.01404962652x faster

llvm-as

master 0.032563515
patch  0.032152077 1.01279662275x faster

the gold plugin fsds

master 0.356221362
patch  0.352772162 1.00977741549x faster

clang fsds

master 0.635096494
patch  0.627249229 1.01251060127x faster

llvm-as fsds

master 0.030183188
patch  0.029889544 1.00982430511x faster

scylla

master 3.071448906
patch  2.938484138 1.04524944215x faster

This seems to be because we don't stall as much. When linking firefox
stalled-cycles-frontend goes from 57.56% to 55.55%.

With -O2 the difference is even more significant since we avoid
recomputing the hash. For firefox we go from 9.990295265 to
9.149627521 seconds (1.09x faster).

Details

Auditors
Bigcheese
Committed
rafaelOct 5 2016, 12:36 PM
Parents
rL283366: FastISel: Remove unused/un-overridden entry points. NFCI.
Branches
Unknown
Tags
Unknown