[Bug c++/70452] [5 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2017-10-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 Jakub Jelinek changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug c++/70452] [5 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-06-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 Richard Biener changed: What|Removed |Added Target Milestone|5.4 |5.5 --- Comment #16 from Richard

[Bug c++/70452] [5 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-05-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 Richard Biener changed: What|Removed |Added Priority|P3 |P2 Known to work|

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-04-08 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 --- Comment #15 from Patrick Palka --- Author: ppalka Date: Fri Apr 8 20:17:10 2016 New Revision: 234837 URL: https://gcc.gnu.org/viewcvs?rev=234837=gcc=rev Log: Fix PR c++/70590 (error: location references block not in block tree)

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-04-07 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 --- Comment #14 from Patrick Palka --- trunk is now at Execution times (seconds) phase setup : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 1%) wall 1287 kB ( 1%) ggc phase parsing : 1.28 (100%) usr 0.20 (100%) sys

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-04-07 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 --- Comment #13 from Patrick Palka --- Author: ppalka Date: Thu Apr 7 16:12:05 2016 New Revision: 234810 URL: https://gcc.gnu.org/viewcvs?rev=234810=gcc=rev Log: Avoid needless unsharing during constexpr evaluation (PR c++/70452)

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-04-05 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 --- Comment #12 from Patrick Palka --- Turns out that a single line of code is responsible for the 50MB increase in memory usage relative to 4.9, and that's the call to unshare_expr in cxx_eval_call_expression: /* Associate the

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-04-05 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 --- Comment #11 from Patrick Palka --- gcc 5 shows: Execution times (seconds) phase setup : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 1311 kB ( 0%) ggc phase parsing : 2.10 (100%) usr 0.28 (100%) sys

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-04-05 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 --- Comment #10 from Patrick Palka --- Author: ppalka Date: Tue Apr 5 16:40:00 2016 New Revision: 234753 URL: https://gcc.gnu.org/viewcvs?rev=234753=gcc=rev Log: Fix PR c++/70452 (regression in C++ parsing performance) gcc/cp/ChangeLog:

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-04-04 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 --- Comment #9 from Patrick Palka --- Author: ppalka Date: Tue Apr 5 01:20:00 2016 New Revision: 234732 URL: https://gcc.gnu.org/viewcvs?rev=234732=gcc=rev Log: Remove class cache_map and use ggc hash_maps instead (PR c++/70452)

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-04-01 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 --- Comment #8 from Patrick Palka --- So with the patch instead of making ~200k total copies of the same fn (one for each recursive call) we only make ~15 total copies (the maximum recursion depth of the function).

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-04-01 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 --- Comment #7 from Patrick Palka --- Created attachment 38155 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38155=edit patch that reuses the function copies I attached a small patch (not commented yet) that reduces the runtime (of a

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-03-30 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 Patrick Palka changed: What|Removed |Added CC||ppalka at gcc dot gnu.org --- Comment

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-03-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 --- Comment #5 from Jakub Jelinek --- Indeed, started with r217664.

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-03-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #4

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-03-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 Richard Biener changed: What|Removed |Added CC||jason at gcc dot gnu.org --- Comment

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-03-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-03-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 --- Comment #2 from Richard Biener --- Hashtable lookups are from location/block remapping done. I _think_ that if all the copy_body stuff we do for constexpr evaluation would just "drop" locations for the copy we'd still be fine constexpr wise

[Bug c++/70452] [5/6 Regression] Regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-03-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 Richard Biener changed: What|Removed |Added Keywords||compile-time-hog Target

[Bug c++/70452] New: regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-03-30 Thread P at draigBrady dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70452 Bug ID: 70452 Summary: regression in C++ parsing performance between 4.9.3 and 5.3.1 Product: gcc Version: 5.3.1 Status: UNCONFIRMED Severity: normal

Re: regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-03-29 Thread Jonathan Wakely
> There is a significant slow down and increase in ram usage Please report it to Bugzilla rather than this list, thanks.

regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-03-28 Thread Pádraig Brady
The attached shell script will generate a larger version of the following: constexpr bool static_str_equal(const char* x, const char* y) { return (*x == 0 || *y == 0) ? (*x == *y) : ((*x == *y) && static_str_equal(x + 1, y + 1)); } int main(void) { static_assert(