This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug other/47167] New: Performance regression in numerical code
- From: "martin at mpa-garching dot mpg dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 4 Jan 2011 14:44:58 +0000
- Subject: [Bug other/47167] New: Performance regression in numerical code
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47167
Summary: Performance regression in numerical code
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: other
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: martin@mpa-garching.mpg.de
Created attachment 22897
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22897
test case
When compiling the attached testcase on a machine with a Core 2 Duo E8500 CPU
and 64bit Linux using
gcc -O2 -fomit-frame-pointer testcase.i -lm
the results with gcc 4.5.1 are
Testing map analysis accuracy.
lmax=2047, 0 iterations, spin=0
Testing ECP grid (4096 rings, 4096 pixels/ring, 16777216 pixels)
iteration 0:
wall time for alm2map: 8.811477s
wall time for map2alm: 9.204556s
component 0: rms 1.390734e-13, maxerr 1.582512e-12
However, with current trunk one obtains
Testing map analysis accuracy.
lmax=2047, 0 iterations, spin=0
Testing ECP grid (4096 rings, 4096 pixels/ring, 16777216 pixels)
iteration 0:
wall time for alm2map: 9.518667s
wall time for map2alm: 9.780509s
component 0: rms 1.390734e-13, maxerr 1.582512e-12
The numerical result is identical, but the code generated by the more recent
compiler is noticeably slower.
Reducing the test case is unfortunately not trivial; the computational hot
spots are located in pshtd_inner_loop() and Ylmgen_recalc_Ylm_sse2().
Please let me know if I can provide further information.