[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2024-04-26 Thread jvdelisle at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 --- Comment #15 from Jerry DeLisle --- (In reply to Matt Thompson from comment #14) > Never mind. I'll send attachment to Jerry offline. It's too big for here. Got it. It works quite well for our purposes.

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2024-04-26 Thread matthew.thompson at nasa dot gov via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 --- Comment #14 from Matt Thompson --- Never mind. I'll send attachment to Jerry offline. It's too big for here.

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2024-04-26 Thread matthew.thompson at nasa dot gov via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 --- Comment #13 from Matt Thompson --- Okay I have a new reproducer that I'll attach here. It uses the random names. I see the same behavior: IFX 2024.1: Number of Modules | Build Time - | -- 10 | 0.100

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2024-04-26 Thread matthew.thompson at nasa dot gov via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 --- Comment #12 from Matt Thompson --- Jerry, Actually, I took a look at my reproducer and it's not quite what I was wanting (I made a mistake in the Jinja templates). I'm going to work on it now to fix this up. And I'll look at adding the rando

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2024-04-25 Thread jvdelisle at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 --- Comment #11 from Jerry DeLisle --- I am able to run your reproducer and I can see the increasing times as the number of modules goes up. I am curious if you could randomize the subroutine names? These appear fairly repetitive and I wonder if

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2024-04-25 Thread jvdelisle at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 Jerry DeLisle changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |jvdelisle at gcc dot gnu.org ---

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2024-04-25 Thread matthew.thompson at nasa dot gov via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 --- Comment #9 from Matt Thompson --- Jerry, I tried your patch, but it didn't seem to help my reproducer. Stock GCC13: Number of Modules | Build Time - | -- 10 | 0.336674 20 |2.34525

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2024-04-23 Thread jvdelisle at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 --- Comment #8 from Jerry DeLisle --- Martin or Matt, Can you test the following variation to see if you get better results. return st; } retval = NULL; if (c <= 0) retval = find_symbol (st->left, name, module, generic);

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2024-04-23 Thread jvdelisle at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 Jerry DeLisle changed: What|Removed |Added Last reconfirmed||2024-04-24 Status|UNCONFIRME

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2024-04-23 Thread jvdelisle at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 Jerry DeLisle changed: What|Removed |Added CC||jvdelisle at gcc dot gnu.org --- Comment

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2024-04-23 Thread matthew.thompson at nasa dot gov via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 Matt Thompson changed: What|Removed |Added CC||matthew.thompson at nasa dot gov --- Co

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2021-10-29 Thread aldot at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 Bernhard Reutner-Fischer changed: What|Removed |Added CC||aldot at gcc dot gnu.org ---

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2020-12-29 Thread mscfd at gmx dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 --- Comment #3 from martin --- Sorry for the noise, but as this gives big reductions in compilation time it is quite important to me (and probably other big module based projects). I just realised that I mixed up gfc_symtree->name and gfc_symtre

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2020-12-28 Thread mscfd at gmx dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 --- Comment #2 from martin --- I further tried to find out what the call to find_symbol (this is the call which consumed the compilation time) is achieving in read_modules(). Even with the accidentially wrong patch everything just seems to work (

[Bug fortran/98426] find_symbol in module.c traverses O(N) part of a search tree

2020-12-28 Thread mscfd at gmx dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98426 --- Comment #1 from martin --- Created attachment 49846 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49846&action=edit corrected patch Comparison with c was wrong.