public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
* Re: c/10675: Compile time increases quadratically with struct size @ 2003-05-12 3:32 rth [not found] ` <E19FLRF-0005HF-00@hzoli.austin.ibm.com> 0 siblings, 1 reply; 2+ messages in thread From: rth @ 2003-05-12 3:32 UTC (permalink / raw) To: gcc-bugs, gcc-prs, hzoli, rth Synopsis: Compile time increases quadratically with struct size State-Changed-From-To: analyzed->closed State-Changed-By: rth State-Changed-When: Mon May 12 03:32:46 2003 State-Changed-Why: http://gcc.gnu.org/ml/gcc-patches/2003-05/msg00989.html http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10675 ^ permalink raw reply [flat|nested] 2+ messages in thread
[parent not found: <E19FLRF-0005HF-00@hzoli.austin.ibm.com>]
* c++/10760: Compile time increases quadratically with struct size [not found] ` <E19FLRF-0005HF-00@hzoli.austin.ibm.com> @ 2003-05-12 22:46 ` hzoli 0 siblings, 0 replies; 2+ messages in thread From: hzoli @ 2003-05-12 22:46 UTC (permalink / raw) To: gcc-gnats, debian-gcc; +Cc: rth >Number: 10760 >Category: c++ >Synopsis: Compile time increases quadratically with struct size >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon May 12 22:46:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Zoltan Hidvegi >Release: gcc version 3.3 20030512 (prerelease) >Organization: >Environment: System: x86/Linux & PowerPC/AIX >Description: Name lookups for struct members use linear search, which can result in quadratic compile time increase. See also c/10675: http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10675 http://gcc.gnu.org/ml/gcc-bugs/2003-05/msg01072.html This happens in both c and c++, but I can only specify one category. >How-To-Repeat: The following is a shell script that will generate a struct with a given number of members and a functions that assings zero to all members. ------- BEGIN biggen.sh ------------- #! /bin/sh let i=0 echo 'struct foo {' while [ "$i" -lt "$1" ] do echo " int i_$((i=i+1));" done echo '};' #echo 'struct foo f;' let i=0 echo 'void init_foo(struct foo *p) {' while [ "$i" -lt "$1" ] do echo " p->i_$((i=i+1)) = 0;" done echo '}' --------- END biggen.sh ------------- Run it like this: ./biggen.sh 10000 > big.C; time g++ -c big.c Change the number from 10000 and see how the compile time is affected. Also watch the memory usage, e.g. with 25000 members it needs 55M, but the memory usage scales linearly. >Fix: >Release-Note: >Audit-Trail: >Unformatted: ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-05-12 22:46 UTC | newest] Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2003-05-12 3:32 c/10675: Compile time increases quadratically with struct size rth [not found] ` <E19FLRF-0005HF-00@hzoli.austin.ibm.com> 2003-05-12 22:46 ` c++/10760: " hzoli
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).