aboutsummaryrefslogtreecommitdiff
path: root/howbig.c
diff options
context:
space:
mode:
Diffstat (limited to 'howbig.c')
-rw-r--r--howbig.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/howbig.c b/howbig.c
new file mode 100644
index 0000000..9f2ad7c
--- /dev/null
+++ b/howbig.c
@@ -0,0 +1,37 @@
1
2#include <stdio.h>
3#include <assert.h>
4#include "bzlib.h"
5
6unsigned char ibuff[1000000];
7unsigned char obuff[1000000];
8
9void doone ( int n )
10{
11 int i, j, k, q, nobuff;
12 q = 0;
13
14 for (k = 0; k < 1; k++) {
15 for (i = 0; i < n; i++)
16 ibuff[i] = ((unsigned long)(random())) & 0xff;
17 nobuff = 1000000;
18 j = bzBuffToBuffCompress ( obuff, &nobuff, ibuff, n, 9,0,0 );
19 assert (j == BZ_OK);
20 if (nobuff > q) q = nobuff;
21 }
22 printf ( "%d %d(%d)\n", n, q, (int)((float)n * 1.01 - (float)q) );
23}
24
25int main ( int argc, char** argv )
26{
27 int i;
28 i = 0;
29 while (1) {
30 if (i >= 900000) break;
31 doone(i);
32 if ( (int)(1.10 * i) > i )
33 i = (int)(1.10 * i); else i++;
34 }
35
36 return 0;
37} \ No newline at end of file