ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/liblzf/bench.c
(Generate patch)

Comparing liblzf/bench.c (file contents):
Revision 1.5 by root, Tue Nov 13 11:02:28 2007 UTC vs.
Revision 1.11 by root, Sat Jul 18 05:59:21 2009 UTC

1#include <stdio.h> 1#include <stdio.h>
2#include <assert.h> 2#include <assert.h>
3#include <string.h> 3#include <string.h>
4#include <time.h>
5#include <sys/time.h>
6#include <sys/times.h>
7#include <sys/types.h>
8#include <sys/socket.h>
9#include <sys/ioctl.h>
10#include <sys/stat.h>
11#include <sys/resource.h>
12#include <math.h>
13#include <signal.h>
14#include <X11/Xlib.h>
4 15
5#include "lzf.h" 16#include "lzf.h"
6//#include "fastlz.c" 17//#include "fastlz.c"
7 18
8typedef unsigned long tval; 19typedef unsigned long tval;
23 return tsc-t; 34 return tsc-t;
24 else 35 else
25 return t-tsc; 36 return t-tsc;
26} 37}
27 38
39static void sigu (int signum)
40{
41}
42
43int eventfd(unsigned int,int);
44
28#define DSIZE 2821120 45#define DSIZE 2821120
29 46
30unsigned char data[DSIZE], data2[DSIZE*2], data3[DSIZE*2]; 47unsigned char data[DSIZE], data2[DSIZE*2], data3[DSIZE*2];
31 48
32int main(void) 49int main(void)
34 tval s; 51 tval s;
35 tval si[1000]; 52 tval si[1000];
36 int i, l, j; 53 int i, l, j;
37 int min = 1<<30; 54 int min = 1<<30;
38 int lp; 55 int lp;
56 char buf[8192];
57 int p[2];
58 int evfd = eventfd (0, 0);
59 long ctr = 1;
60 struct stat sbuf;
61
62 pipe (p);
39 63
40 FILE *f = fopen ("data", "r"); 64 FILE *f = fopen ("data", "r");
41 fread (data, DSIZE, 1, f); 65 fread (data, DSIZE, 1, f);
42 fclose (f); 66 fclose (f);
43 67
68 signal (SIGURG, sigu);
69
44 for (lp = 0; lp < 1000; lp++) { 70 for (lp = 0; lp < 1000000; lp++) {
45 l = lzf_compress (data, DSIZE, data2, DSIZE*2);
46 s=stamp(); 71 s=stamp();
72
73 struct timespec ts; clock_gettime (CLOCK_THREAD_CPUTIME_ID, &ts);
74 //printf ("%9ld\n", ts.tv_nsec);//D
75 //struct rusage usage; getrusage (RUSAGE_SELF, &usage);
76 //struct tms tms; times (&tms);
77
78 //kill (0, SIGURG);
79 //write (evfd, &ctr, 8);
80 //read (evfd, &ctr, 8);
81 //write (p[1], &buf, 1);
82 //read (p[0], &buf, 4);
83 //stat ("/etc/passwd", &sbuf);
84 //struct timeval tv; gettimeofday (&tv, 0);
85
47 //l = fastlz_compress_level (1, data, DSIZE, data2); 86 //l = lzf_compress (data, DSIZE, data2, DSIZE*2);
48 j = lzf_decompress (data2, l, data3, DSIZE*2); 87 //assert(l);
88
49 si[0]=measure(s); 89 si[0]=measure(s);
90
91 //j = lzf_decompress (data2, l, data3, DSIZE*2);
92 //assert (j == DSIZE);
50 93
51 printf ("\r%10d (%d) ", si[0], l); 94 printf ("\r%10d (%d) ", si[0], l);
52 if (si[0] < min && si[0] > 0) 95 if (si[0] < min && si[0] > 0)
53 { 96 {
54 printf ("\n"); 97 printf ("\n");
55 min = si[0]; 98 min = si[0];
56 } 99 }
57 100
58 fflush (stdout); 101 fflush (stdout);
59 102
60 assert (memcmp (data, data3, DSIZE) == 0); 103 //assert (memcmp (data, data3, DSIZE) == 0);
61 } 104 }
62 return 0; 105 return 0;
63} 106}
64 107
65 108

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines