This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug regression/58244] New: global variable: many THOUSANDS times slower execution
- From: "martin.konopka at stuba dot sk" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 26 Aug 2013 18:04:56 +0000
- Subject: [Bug regression/58244] New: global variable: many THOUSANDS times slower execution
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58244
Bug ID: 58244
Summary: global variable: many THOUSANDS times slower execution
Product: gcc
Version: 4.7.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: regression
Assignee: unassigned at gcc dot gnu.org
Reporter: martin.konopka at stuba dot sk
Created attachment 30701
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30701&action=edit
sample C code to demonstrate the performance issue
* I have a very small sample code written in pure C.
* I am using 64-bit linux:
- Linux Mint Maya with gcc 4.6.3
(gcc and libraries same as ubuntu 12.04 LTS)
- ubuntu 12.10 with gcc 4.7.2
- newest Scientific Linux with compilers 4.4.7 and 4.7.3
When I declare a simple variable (auxvar , see the code) as a local one, then
the executable is about as fast as it should be.
When I declare the variable as a global one, then the executable becomes
insanely slow.
The behaviour is the same for any of the above mentioned linuxes and compiler
versions. Please see attached C code. Compile it using
gcc -O2 -Wall slowcode.c -lm
Please do NOT declare auxvar both globally and locally. Use either local or
global declaration.
Thanks.