Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de> writes: > I would be interested to know what performance impact these changes > have on w32 (after all, the idea to free the memory after the function > tests are used has not been implemented yet). There is a 14% win on > GNU/Linux:
I'm glad to hear that GNU/Linux was helped. Best of three timings on cygwin: pre (using http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commit;h=e492685, with the typo fix but not the shell function fix): $ time ( ./testsuite 1 >/dev/null) real 0m9.656s user 0m11.525s sys 0m3.750s $ time ( ./testsuite -10 >/dev/null) real 0m47.484s user 0m56.805s sys 0m20.991s post (using http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commit;h=99be32): $ time ( ./testsuite 1 >/dev/null) real 0m9.703s user 0m11.380s sys 0m4.212s $ time ( ./testsuite -10 >/dev/null) real 0m47.250s user 0m56.916s sys 0m21.516s Ambiguous results, but the best times are all within .1 second, and the times not listed were all with .4 seconds, which is in the noise compared to the overall timings. Your patch was a wash for w32: it neither hurt nor helped. Effectively, your patch eliminated the reason to worry about freeing the memory across forks, since the test groups are no longer occupying memory as functions. Also, your approach supercedes my idea about performing a single sed script up front - since we are no longer using shell functions, the $at_test_source can no longer contain more than one test at a time. -- Eric Blake
