From: Rasmus Borup Hansen Date: Mon, 11 Aug 2014 14:07:05 +0000 (+0100) Subject: cp: remove redundant possibly expensive heap deallocation X-Git-Tag: v8.24~243 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65d8e6906ae8752358b4f96153f7a1c5ccec3789;p=thirdparty%2Fcoreutils.git cp: remove redundant possibly expensive heap deallocation If the hash structures grow sufficiently large so that the system is actively swapping, then the deallocation can take a significant amount of time. Details at: http://lists.gnu.org/archive/html/coreutils/2014-08/msg00012.html * src/cp.c (main): Only call hash deallocation routines when in lint checking mode. * THANKS.in: Remove as now in the git author list. --- diff --git a/THANKS.in b/THANKS.in index 6fd79d3231..af372a97a9 100644 --- a/THANKS.in +++ b/THANKS.in @@ -523,7 +523,6 @@ Raimonds Miltins raimonds@pro-9.com Rainer Orth ro@TechFak.Uni-Bielefeld.DE Ralf W. Stephan stephan@tmt.de Ralph Loader loader@maths.ox.ac.uk -Rasmus Borup Hansen rbh@intomics.com Raul Miller moth@magenta.com Raúl Núñez de Arenas Coronado raul@pleyades.net Rich Burridge rich.burridge@oracle.com diff --git a/src/cp.c b/src/cp.c index 99cafa7f56..6c7231a873 100644 --- a/src/cp.c +++ b/src/cp.c @@ -1214,7 +1214,9 @@ main (int argc, char **argv) ok = do_copy (argc - optind, argv + optind, target_directory, no_target_directory, &x); +#ifdef lint forget_all (); +#endif exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); }