[LLVMbugs] [Bug 3255] New: Investigate deterministic variations due to "unintended" changes.

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Dec 22 15:55:44 PST 2008


           Summary: Investigate deterministic variations due to "unintended"
           Product: clang
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: AST
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: daniel at zuster.org
                CC: llvmbugs at cs.uiuc.edu

clang's performance can vary greatly due to changes which should have had no
executable impact.

For example, in my experiments, revision 60704 slowed down clang by 3.5%. This
revision only modified the rewriter, and only change the strings that were
present in the binary.

The root cause for such variations is that changing any code causes the layout
of code in the binary to be modified. This has two primary effects:
(1) Changing code alignment can have significant consequences on modern
processors, and may also effect the generated code.

(2) Changing address can change the behavior of malloc. This can change the
cache behavior and also change the executable behavior of the program in cases
where the behavior depends on the actual malloc address (hash tables).

Fixing these variations is not inherently good, but it allows clang's
performance to be monitored more closely, as variations due to unintended
behavior make the results noisy and hard to interpret.

Fixing (1) is hard, but we should investigate (2) to see if there are any
simple wins.

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list