Diff for /libaitcrc/example/test_hash.c between versions 1.2 and 1.2.6.1

version 1.2, 2011/04/28 20:28:20 version 1.2.6.1, 2012/08/29 08:55:55
Line 2 Line 2
 #include <string.h>  #include <string.h>
 #include <fcntl.h>  #include <fcntl.h>
 #include <unistd.h>  #include <unistd.h>
   #include <sys/types.h>
   #include <sys/endian.h>
   #include <sys/time.h>
 #include "aitcrc.h"  #include "aitcrc.h"
   
   
 int main()  int main()
 {  {
         int i, f;          int i, f;
           u_int n;
         char szLine[256], szAvalanche[][2] = { { 0, 0 }, { 1, 0 }, { 2, 0 }, { 3, 0 },           char szLine[256], szAvalanche[][2] = { { 0, 0 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, 
                 { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 } };                  { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 } };
         struct timeval before, after;          struct timeval before, after;
   
         /*  
         f = open("/dev/urandom", O_RDONLY);          f = open("/dev/urandom", O_RDONLY);
         if (f == -1)          if (f == -1)
                 return 1;                  return 1;
         // hash_varchar          // hash_varchar
         gettimeofday(&before, NULL);          gettimeofday(&before, NULL);
        for (i = 0; i < 1000000; i++) {        for (i = 0; i < 100000; i++) {
                 memset(szLine, 0, 256);                  memset(szLine, 0, 256);
                 read(f, szLine, 255);                  read(f, szLine, 255);
                hash_varchar(szLine, 256);                hash_varchar(szLine, 256, 1);
 //              printf("%u\n", hash_varchar(szLine, 256));  //              printf("%u\n", hash_varchar(szLine, 256));
         }          }
         gettimeofday(&after, NULL);          gettimeofday(&after, NULL);
Line 29  int main() Line 32  int main()
                         (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6);                           (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6); 
         // hash_bernstein          // hash_bernstein
         gettimeofday(&before, NULL);          gettimeofday(&before, NULL);
        for (i = 0; i < 1000000; i++) {        for (i = 0; i < 100000; i++) {
                 memset(szLine, 0, 256);                  memset(szLine, 0, 256);
                 read(f, szLine, 255);                  read(f, szLine, 255);
                 hash_bernstein(szLine, 256, 0);                  hash_bernstein(szLine, 256, 0);
Line 40  int main() Line 43  int main()
                         (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6);                           (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6); 
         // hash_bernstein DJBX33A          // hash_bernstein DJBX33A
         gettimeofday(&before, NULL);          gettimeofday(&before, NULL);
        for (i = 0; i < 1000000; i++) {        for (i = 0; i < 100000; i++) {
                 memset(szLine, 0, 256);                  memset(szLine, 0, 256);
                 read(f, szLine, 255);                  read(f, szLine, 255);
                 hash_bernstein(szLine, 256, 1);                  hash_bernstein(szLine, 256, 1);
Line 51  int main() Line 54  int main()
                         (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6);                           (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6); 
         // hash_FNV-1a          // hash_FNV-1a
         gettimeofday(&before, NULL);          gettimeofday(&before, NULL);
        for (i = 0; i < 1000000; i++) {        for (i = 0; i < 100000; i++) {
                 memset(szLine, 0, 256);                  memset(szLine, 0, 256);
                 read(f, szLine, 255);                  read(f, szLine, 255);
                 hash_fnv1(szLine, 256, 0);                  hash_fnv1(szLine, 256, 0);
Line 62  int main() Line 65  int main()
                         (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6);                           (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6); 
         // hash_FNV-1          // hash_FNV-1
         gettimeofday(&before, NULL);          gettimeofday(&before, NULL);
        for (i = 0; i < 1000000; i++) {        for (i = 0; i < 100000; i++) {
                 memset(szLine, 0, 256);                  memset(szLine, 0, 256);
                 read(f, szLine, 255);                  read(f, szLine, 255);
                 hash_fnv1(szLine, 256, 1);                  hash_fnv1(szLine, 256, 1);
Line 73  int main() Line 76  int main()
                         (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6);                           (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6); 
         // hash_jenkins          // hash_jenkins
         gettimeofday(&before, NULL);          gettimeofday(&before, NULL);
        for (i = 0; i < 1000000; i++) {        for (i = 0; i < 100000; i++) {
                 memset(szLine, 0, 256);                  memset(szLine, 0, 256);
                 read(f, szLine, 255);                  read(f, szLine, 255);
                 hash_jenkins(szLine, 256);                  hash_jenkins(szLine, 256);
Line 83  int main() Line 86  int main()
         printf("hash_jenkins:: elapsed time %f seconds\n",           printf("hash_jenkins:: elapsed time %f seconds\n", 
                         (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6);                           (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6); 
   
           // hash_jenkins32
           gettimeofday(&before, NULL);
           for (i = 0; i < 100000; i++) {
                   memset(szLine, 0, 256);
                   read(f, szLine, 255);
                   n = hash_jenkins32((u_int*) szLine, 256 / 4, 0);
   //              printf("%u\n", n);
           }
           gettimeofday(&after, NULL);
           printf("hash_jenkins32:: elapsed time %f seconds\n", 
                           (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6); 
   
         close(f);          close(f);
         printf("\n");          printf("\n");
        */
         printf("Test avalanche 0 .. 7::\n");          printf("Test avalanche 0 .. 7::\n");
   
         printf("  hash_varchar:");          printf("  hash_varchar:");
Line 135  int main() Line 150  int main()
                 memset(szLine, 0, 256);                  memset(szLine, 0, 256);
                 memcpy(szLine, &szAvalanche[i][0], 1);                  memcpy(szLine, &szAvalanche[i][0], 1);
                 printf(" %d=>%u", i, hash_jenkins(szLine, 1));                  printf(" %d=>%u", i, hash_jenkins(szLine, 1));
           }
           printf("\n");
           printf("  hash_jenkins32:");
           for (i = 0; i < 8; i++) {
                   n = szAvalanche[i][0];
                   printf(" %d=>%u ", i, hash_jenkins32(&n, 1, 0));
         }          }
         printf("\n");          printf("\n");
         printf("  hash_reddragon:");          printf("  hash_reddragon:");

Removed from v.1.2  
changed lines
  Added in v.1.2.6.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>