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

Comparing liblzf/bench.c (file contents):
Revision 1.11 by root, Sat Jul 18 05:59:21 2009 UTC vs.
Revision 1.14 by root, Sun Mar 27 23:53:23 2011 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>
6#include <sys/times.h> 7#include <sys/times.h>
7#include <sys/types.h> 8#include <sys/types.h>
8#include <sys/socket.h> 9#include <sys/socket.h>
10#include <sys/mman.h>
9#include <sys/ioctl.h> 11#include <sys/ioctl.h>
10#include <sys/stat.h> 12#include <sys/stat.h>
11#include <sys/resource.h> 13#include <sys/resource.h>
12#include <math.h> 14#include <math.h>
13#include <signal.h> 15#include <signal.h>
38 40
39static void sigu (int signum) 41static void sigu (int signum)
40{ 42{
41} 43}
42 44
43int eventfd(unsigned int,int);
44
45#define DSIZE 2821120 45#define DSIZE 2821120
46#define DSIZE 32768
46 47
47unsigned char data[DSIZE], data2[DSIZE*2], data3[DSIZE*2]; 48unsigned char data[DSIZE], data2[DSIZE*2], data3[DSIZE*2];
48 49
49int main(void) 50int main(void)
50{ 51{
53 int i, l, j; 54 int i, l, j;
54 int min = 1<<30; 55 int min = 1<<30;
55 int lp; 56 int lp;
56 char buf[8192]; 57 char buf[8192];
57 int p[2]; 58 int p[2];
58 int evfd = eventfd (0, 0);
59 long ctr = 1; 59 long ctr = 1;
60 struct stat sbuf; 60 struct stat sbuf;
61 61
62 pipe (p); 62 pipe (p);
63 63
68 signal (SIGURG, sigu); 68 signal (SIGURG, sigu);
69 69
70 for (lp = 0; lp < 1000000; lp++) { 70 for (lp = 0; lp < 1000000; lp++) {
71 s=stamp(); 71 s=stamp();
72 72
73 struct timespec ts; clock_gettime (CLOCK_THREAD_CPUTIME_ID, &ts); 73 //struct timespec ts; clock_gettime (CLOCK_THREAD_CPUTIME_ID, &ts);
74 //printf ("%9ld\n", ts.tv_nsec);//D 74 //printf ("%9ld\n", ts.tv_nsec);//D
75 //struct rusage usage; getrusage (RUSAGE_SELF, &usage); 75 //struct rusage usage; getrusage (RUSAGE_SELF, &usage);
76 //struct tms tms; times (&tms); 76 //struct tms tms; times (&tms);
77 77
78 //kill (0, SIGURG); 78 //kill (0, SIGURG);
80 //read (evfd, &ctr, 8); 80 //read (evfd, &ctr, 8);
81 //write (p[1], &buf, 1); 81 //write (p[1], &buf, 1);
82 //read (p[0], &buf, 4); 82 //read (p[0], &buf, 4);
83 //stat ("/etc/passwd", &sbuf); 83 //stat ("/etc/passwd", &sbuf);
84 //struct timeval tv; gettimeofday (&tv, 0); 84 //struct timeval tv; gettimeofday (&tv, 0);
85 //void *x = mmap (0, 16384, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE,-1,0);
85 86
86 //l = lzf_compress (data, DSIZE, data2, DSIZE*2); 87 l = lzf_compress (data, DSIZE, data2, DSIZE*2);
87 //assert(l); 88 assert(l);
89
90 j = lzf_decompress (data2, l, data3, DSIZE*2);
91 assert (j == DSIZE);
88 92
89 si[0]=measure(s); 93 si[0]=measure(s);
90 94
91 //j = lzf_decompress (data2, l, data3, DSIZE*2); 95 assert (!memcmp (data, data3, DSIZE));
92 //assert (j == DSIZE);
93 96
94 printf ("\r%10d (%d) ", si[0], l); 97 printf ("\r%10d (%d) ", si[0], l);
95 if (si[0] < min && si[0] > 0) 98 if (si[0] < min && si[0] > 0)
96 { 99 {
97 printf ("\n"); 100 printf ("\n");

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines