Branch: refs/heads/smoke-me/tonyc/21654-N-squared-slow Home: https://github.com/Perl/perl5 Commit: 55b0882f99bb41f26378e91d619e77707a044e74 https://github.com/Perl/perl5/commit/55b0882f99bb41f26378e91d619e77707a044e74 Author: Tony Cook <t...@develop-help.com> Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths: M MANIFEST A t/perf/tmps.t Log Message: ----------- TODO test the performance of growing the tmps stack Commit: 7a28defe93b9bb8f3944648692c5d01ac486aed1 https://github.com/Perl/perl5/commit/7a28defe93b9bb8f3944648692c5d01ac486aed1 Author: Tony Cook <t...@develop-help.com> Date: 2023-11-27 (Mon, 27 Nov 2023) Changed paths: M scope.c M t/perf/tmps.t Log Message: ----------- grow the tmps (mortal) stack exponentially rather than linearly As with the value stack and the save stack, this gives us constant amortized growth per element. After this patch the profiler shows the "SvPV_shrink_to_cur(sv)" and "sv = sv_2mortal(newSV(80))" calls in do_readline as the hotspots for the io unheated test case, using 55% of the measured time in total. Fixes #21654 Compare: https://github.com/Perl/perl5/compare/55b0882f99bb%5E...7a28defe93b9