From 65d8e6906ae8752358b4f96153f7a1c5ccec3789 Mon Sep 17 00:00:00 2001
From: Rasmus Borup Hansen <rbh@intomics.com>
Date: Mon, 11 Aug 2014 15:07:05 +0100
Subject: 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.
---
 THANKS.in | 1 -
 src/cp.c  | 2 ++
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/THANKS.in b/THANKS.in
index 6fd79d323..af372a97a 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 99cafa7f5..6c7231a87 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);
 }
-- 
cgit v1.2.3-70-g09d2