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

Comparing liblzf/bench.c (file contents):
Revision 1.8 by root, Tue May 6 22:49:18 2008 UTC vs.
Revision 1.13 by root, Tue Jun 1 01:15:34 2010 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines