diff options
Diffstat (limited to 'crypt/speeds.c')
-rw-r--r-- | crypt/speeds.c | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/crypt/speeds.c b/crypt/speeds.c deleted file mode 100644 index 810ecb0b29..0000000000 --- a/crypt/speeds.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - * This fcrypt/crypt speed testing program - * is derived from one floating around in - * the net. It's distributed along with - * UFC-crypt but is not covered by any - * licence. - * - * @(#)speeds.c 1.11 20 Aug 1996 - */ - -#include <signal.h> -#include <stdio.h> - -#ifndef SIGVTALRM -/* - * patch from chip@chinacat.unicom.com (Chip Rosenthal): - * you may enable it if your system does not include - * a setitimer() function. You'll have to ensure the - * existence an environment variable: HZ giving how many - * ticks goes per second. - * If not existing in your default environment 50, 60 - * or even 100 may be the right value. Perhaps you should - * then use 'time ./ufc 10000' instead of guessing. - */ -#define NO_ITIMER -#endif - -#ifdef NO_ITIMER -#include <sys/types.h> -#include <sys/times.h> -#else -#include <sys/time.h> -#endif - -static int cnt; -#ifdef NO_ITIMER -char *hz; -struct tms tstart, tfinish; -#endif -#define ITIME 10 /* Number of seconds to run test. */ - -char *crypt(), *fcrypt(); - -void -Stop (void) -{ - double elapsed; -#ifdef NO_ITIMER - (void) times(&tfinish); - elapsed = ((tfinish.tms_utime + tfinish.tms_stime) - - (tstart.tms_utime + tstart.tms_stime)) / atoi(hz); - printf("elapsed time = %d sec, CPU time = %f sec\n", ITIME, elapsed); -#else - elapsed = ITIME; -#endif - printf ("Did %f %s()s per second.\n", ((float) cnt) / elapsed, -#if defined(FCRYPT) - "fcrypt" -#else - "crypt" -#endif - ); - exit (0); -} - -/* - * Silly rewrite of 'bzero'. I do so - * because some machines don't have - * bzero and some don't have memset. - */ - -static void clearmem(start, cnt) - char *start; - int cnt; - { while(cnt--) - *start++ = '\0'; - } - -main (void) -{ - char *s; -#ifdef NO_ITIMER - extern char *getenv(); -#else - struct itimerval itv; -#endif - -#ifdef NO_ITIMER - if ((hz = getenv("HZ")) == NULL) { - fprintf(stderr, "HZ environment parameter undefined\n"); - exit(1); - } -#endif - -#ifdef FCRYPT - printf("\n"); - printf("Warning: this version of the speed program may run slower when\n"); - printf("benchmarking UFC-crypt than previous versions. This is because it\n"); - printf("stresses the CPU hardware cache in order to get benchmark figures\n"); - printf("that corresponds closer to the performance that can be expected in\n"); - printf("a password cracker.\n\n"); -#endif - - printf ("Running %s for %d seconds of virtual time ...\n", -#ifdef FCRYPT - "UFC-crypt", -#else - "crypt(libc)", -#endif - ITIME); - -#ifdef FCRYPT - init_des (); -#endif - -#ifdef NO_ITIMER - signal(SIGALRM, Stop); - switch (fork()) { - case -1: - perror("fork failed"); - exit(1); - case 0: - sleep(10); - kill(getppid(), SIGALRM); - exit(0); - default: - (void) times(&tstart); - } -#else - clearmem ((char*)&itv, (int)sizeof (itv)); - signal (SIGVTALRM, Stop); - itv.it_value.tv_sec = ITIME; - itv.it_value.tv_usec = 0; - setitimer (ITIMER_VIRTUAL, &itv, NULL); -#endif - - - s = "fredred"; - for (cnt = 0;; cnt++) - { -#ifdef FCRYPT - s = fcrypt (s, "eek"); -#else - s = crypt (s, "eek"); -#endif - } -} - - - - - - |