spewG.c revision 167974
1264840Sdteske 2264840Sdteske/* spew out a thoroughly gigantic file designed so that bzip2 3264840Sdteske can compress it reasonably rapidly. This is to help test 4264840Sdteske support for large files (> 2GB) in a reasonable amount of time. 5264840Sdteske I suggest you use the undocumented --exponential option to 6264840Sdteske bzip2 when compressing the resulting file; this saves a bit of 7264840Sdteske time. Note: *don't* bother with --exponential when compressing 8264840Sdteske Real Files; it'll just waste a lot of CPU time :-) 9264840Sdteske (but is otherwise harmless). 10264840Sdteske*/ 11264840Sdteske 12264840Sdteske/* ------------------------------------------------------------------ 13264840Sdteske This file is part of bzip2/libbzip2, a program and library for 14264840Sdteske lossless, block-sorting data compression. 15264840Sdteske 16264840Sdteske bzip2/libbzip2 version 1.0.4 of 20 December 2006 17264840Sdteske Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> 18264840Sdteske 19264840Sdteske Please read the WARNING, DISCLAIMER and PATENTS sections in the 20264840Sdteske README file. 21264840Sdteske 22264840Sdteske This program is released under the terms of the license contained 23264840Sdteske in the file LICENSE. 24264840Sdteske ------------------------------------------------------------------ */ 25264840Sdteske 26264840Sdteske 27264840Sdteske#define _FILE_OFFSET_BITS 64 28264840Sdteske 29264840Sdteske#include <stdio.h> 30264840Sdteske#include <stdlib.h> 31264840Sdteske 32264840Sdteske/* The number of megabytes of junk to spew out (roughly) */ 33264840Sdteske#define MEGABYTES 5000 34264840Sdteske 35264840Sdteske#define N_BUF 1000000 36264840Sdteskechar buf[N_BUF]; 37264840Sdteske 38264840Sdteskeint main ( int argc, char** argv ) 39264840Sdteske{ 40264840Sdteske int ii, kk, p; 41264840Sdteske srandom(1); 42264840Sdteske setbuffer ( stdout, buf, N_BUF ); 43264840Sdteske for (kk = 0; kk < MEGABYTES * 515; kk+=3) { 44264840Sdteske p = 25+random()%50; 45264840Sdteske for (ii = 0; ii < p; ii++) 46264840Sdteske printf ( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ); 47264840Sdteske for (ii = 0; ii < p-1; ii++) 48264840Sdteske printf ( "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" ); 49264840Sdteske for (ii = 0; ii < p+1; ii++) 50264840Sdteske printf ( "ccccccccccccccccccccccccccccccccccccc" ); 51264840Sdteske } 52264840Sdteske fflush(stdout); 53264840Sdteske return 0; 54264840Sdteske} 55264840Sdteske