This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/63338] Compiling large amounts of large switch cases takes a large amount of time


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63338

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING
   Last reconfirmed|                            |2014-09-23
     Ever confirmed|0                           |1

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
And what compiler options?  With -O1 on x86_64-linux it takes around 1m30s to
compile with GCC 4.8 with the biggest offenders being

 alias stmt walking      :  64.95 (70%) usr   0.15 (12%) sys  65.11 (69%) wall 
     0 kB ( 0%) ggc
 tree SSA incremental    :  11.83 (13%) usr   0.18 (14%) sys  12.04 (13%) wall 
 47726 kB (12%) ggc
 tree copy propagation   :   4.12 ( 4%) usr   0.00 ( 0%) sys   4.13 ( 4%) wall 
   515 kB ( 0%) ggc
 TOTAL                 :  92.99             1.29            94.23            
383497 kB

with GCC 4.9 this improves to

 alias stmt walking      :  55.67 (66%) usr   0.26 (18%) sys  55.95 (65%) wall 
     0 kB ( 0%) ggc
 tree copy propagation   :   4.90 ( 6%) usr   0.01 ( 1%) sys   4.94 ( 6%) wall 
   522 kB ( 0%) ggc
 tree SSA incremental    :  10.89 (13%) usr   0.20 (14%) sys  11.02 (13%) wall 
 47751 kB (12%) ggc
 TOTAL                 :  83.95             1.45            85.55            
390402 kB

most time is spent in early local cleanups at -O1.

With -O2 GCC 4.9 takes 95s.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]