- make CONFIG_MD5SUM_SIZE_VS_SPEED configurable via menuconfig.
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Tue, 17 Jan 2006 12:07:03 +0000 (12:07 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Tue, 17 Jan 2006 12:07:03 +0000 (12:07 -0000)
- use shorter boilerplate.

coreutils/Config.in
libbb/hash_fd.c

index 31e97c1450186b2645d4ec611b3f32054a79aeff..5e1195837207f290b0527f4f0af46eace916cc96 100644 (file)
@@ -323,6 +323,21 @@ config CONFIG_MD5SUM
        help
          md5sum is used to print or check MD5 checksums.
 
+config CONFIG_MD5SUM_SIZE_VS_SPEED
+       int "  Trade Bytes for Speed"
+       default 2
+       range 0 3
+       depends on CONFIG_MD5SUM
+       help
+         Trade binary size versus speed for the md5sum algorithm.
+         Approximate values running uClibc and hashing
+         linux-2.4.4.tar.bz2 were:
+                           user times (sec)  text size (386)
+         0 (fastest)         1.1                6144
+         1                   1.4                5392
+         2                   3.0                5088
+         3 (smallest)        5.1                4912
+
 config CONFIG_MKDIR
        bool "mkdir"
        default n
index 5f12259b3d6482161b6049fb86eebeaa6c57beb3..3445a25a0abb8713ca8f31a62e6571bead683406 100644 (file)
@@ -5,19 +5,7 @@
  *  Copyright (C) 2003 Glenn L. McGrath
  *  Copyright (C) 2003 Erik Andersen
  *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
  */
 
 #include <byteswap.h>
@@ -271,7 +259,11 @@ static void sha1_end(unsigned char hval[], struct sha1_ctx_t *ctx)
  *     3 (smallest)        5.1                4912
  */
 
+# if CONFIG_MD5SUM_SIZE_VS_SPEED < 0 || CONFIG_MD5SUM_SIZE_VS_SPEED > 3
 # define MD5SUM_SIZE_VS_SPEED 2
+# else
+# define MD5SUM_SIZE_VS_SPEED CONFIG_MD5SUM_SIZE_VS_SPEED
+# endif
 
 /* Handle endian-ness */
 # if __BYTE_ORDER == __LITTLE_ENDIAN