/* $NetBSD: spewG.c,v 1.1.1.2 2012/05/07 00:41:46 wiz Exp $ */ /* spew out a thoroughly gigantic file designed so that bzip2 can compress it reasonably rapidly. This is to help test support for large files (> 2GB) in a reasonable amount of time. I suggest you use the undocumented --exponential option to bzip2 when compressing the resulting file; this saves a bit of time. Note: *don't* bother with --exponential when compressing Real Files; it'll just waste a lot of CPU time :-) (but is otherwise harmless). */ /* ------------------------------------------------------------------ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. bzip2/libbzip2 version 1.0.6 of 6 September 2010 Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. This program is released under the terms of the license contained in the file LICENSE. ------------------------------------------------------------------ */ #define _FILE_OFFSET_BITS 64 #include #include /* The number of megabytes of junk to spew out (roughly) */ #define MEGABYTES 5000 #define N_BUF 1000000 char buf[N_BUF]; int main ( int argc, char** argv ) { int ii, kk, p; srandom(1); setbuffer ( stdout, buf, N_BUF ); for (kk = 0; kk < MEGABYTES * 515; kk+=3) { p = 25+random()%50; for (ii = 0; ii < p; ii++) printf ( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ); for (ii = 0; ii < p-1; ii++) printf ( "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" ); for (ii = 0; ii < p+1; ii++) printf ( "ccccccccccccccccccccccccccccccccccccc" ); } fflush(stdout); return 0; }