This is an archive of the discontinued LLVM Phabricator instance.

Color the background of sparklines on the daily report page based on the hash value of the binary.
ClosedPublic

Authored by kristof.beyls on Jan 20 2016, 6:18 AM.

Diff Detail

Repository
rL LLVM

Event Timeline

kristof.beyls retitled this revision from to Color the background of sparklines on the daily report page based on the hash value of the binary..
kristof.beyls updated this object.
kristof.beyls added a reviewer: cmatthews.
kristof.beyls added a subscriber: llvm-commits.

Adding screenshot of what the background colouring in sparklines based on binary hash values looks like. The screenshot shows that it's more straightforward to see what results are noise and which ones are probably real differences:

  • The 14% performance swing in viterbi in the screenshot is just noise, as the program binary didn't change (same background colour).
  • The 13% performance swing in sim is probably real: the binary changed since yesterday.
  • hexxagon and sqlite3: the regressions are probably real. Both programs have oscillated a bit over the past week; i.e. the re-occurence of the same background colour indicates LLVM ToT's codegen for these programs has been identical on a few non-consecutive days.
  • hash2: it's just noise, the binary hasn't changed for the past 10 days.
cmatthews requested changes to this revision.Jan 20 2016, 5:07 PM
cmatthews edited edge metadata.

Mostly looks good. Could you move the color selection logic out of analysis.py and into lnt/server/ui/util.py? Analysis seems like a strange place for color selection logic to live.

This revision now requires changes to proceed.Jan 20 2016, 5:07 PM
MatzeB added a subscriber: MatzeB.Jan 20 2016, 5:23 PM

Isn't the only useful information here whether the binary has changed compared to the previous revision? Wouldn't it be better to just check for that and only alternate between two colors?

Isn't the only useful information here whether the binary has changed compared to the previous revision? Wouldn't it be better to just check for that and only alternate between two colors?

I just realized that you are exactly reusing a color (within a sparcline) iff the checksum is the same as a previous one, that makes sense and conveys extra information. So please ignore my previous comment :)

kristof.beyls edited edge metadata.

Ah yes, indeed the color selection logic fits much better in ui/util.py rather than analysis.py. Thanks for the pointer!
This updated patch has moved it to util.py and fixed the pep8 violations present in the original patch.

cmatthews accepted this revision.Jan 21 2016, 9:54 AM
cmatthews edited edge metadata.

LGTM

This revision is now accepted and ready to land.Jan 21 2016, 9:54 AM

LGTM

Many thanks for the review!
Would you be able to also have a quick look at http://reviews.llvm.org/D16355, as this patch depends on that one?

Thanks!

Kristof

This revision was automatically updated to reflect the committed changes.