Ticket #1818 (closed bug: worksforme)

Opened 6 years ago

Last modified 4 years ago

Code size increase vs. 6.6.1

Reported by: simonmar Owned by:
Priority: high Milestone: 6.8.3
Component: Compiler Version: 6.8.1
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Runtime performance bug Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

Code size for 6.8.1 has increased around 20% compared to 6.6.1. Find out why, and fix it. Measurements taken for nofib compiled with -O, libraries compiled with -O2.

Possibly relevant tickets: #1811

Change History

Changed 5 years ago by simonmar

  • milestone changed from 6.8.2 to 6.8.3

Performance summary for 6.8.2 relative to 6.8.1 and 6.6.1. In all cases, the libraries were compiled with -O2 and the nofib suite was compiled with -O (this is just the default setting, I should probably redo the figures using -O2).

  • 6.8.2 produces binaries 7.5% smaller than 6.8.1, but still 13.5% larger than 6.6.1
  • Allocations are down a bit on average in 6.8.2. Some programs got significantly better (mandel, x2n1), and some got worse, particularly fulsom (+34% allocation +39% runtime), but this just puts it back to where it was with 6.6.1. We should look into this.
  • Performance for nofib is roughly equal for 6.8.2 relative to 6.8.1 (+0.4% runtime)
  • Compile times are down by 4%, but this figure tends to wobble quite a bit.

Changed 5 years ago by igloo

  • priority changed from normal to high

Changed 5 years ago by simonmar

  • type changed from bug to run-time performance bug

Changed 5 years ago by simonmar

  • status changed from new to closed
  • resolution set to worksforme

I measured a 5% code size difference between 6.8.2 and 6.8.3, but on recompiling a fresh 6.8.2 tree with exactly the same build options as were used for 6.8.3, the difference disappeared. I suspect something caused by a difference in options, so probably not a 6.6.1->6.8.1 regression, and hence I'll close the bug.

Changed 5 years ago by simonmar

  • architecture changed from Unknown to Unknown/Multiple

Changed 5 years ago by simonmar

  • os changed from Unknown to Unknown/Multiple

Changed 4 years ago by simonmar

  • failure set to Runtime performance bug
Note: See TracTickets for help on using tickets.