/* crunch.c - Crrrrrrunchy Minibench
 * $Id: crunch.c,v 1.1.1.1 2003/10/04 16:01:42 karsten Exp $
 *
 * Compile: gcc -s -O2 -o crunch crunch.c
 * Run    : crunch 2> /dev/null
 *
 *
 *  Copyright (c) 2001 Karsten Kruse <tecneeq@tecneeq.de>
 *  All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions
 *  are met:
 *
 *   1. Redistributions of source code must retain the above copyright
 *      notice, this list of conditions and the following  disclaimer.
 *   2. Redistributions in binary form must reproduce the above copyright
 *      notice, this list of conditions and the following disclaimer in
 *      the documentation and/or other materials provided with the
 *      distribution.
 *   3. Neither the name of the author nor the names of its contributors
 *      may be used to endorse or promote products derived from this
 *      software without specific prior written permission.
 *
 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 */

#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <dirent.h>

main()
{
long i,j,k,t1,t2;
time_t now;
struct tm *t;

now = time((time_t *)NULL);
t = localtime(&now);
t1 = t->tm_sec + 60*t->tm_min + 60*60*t->tm_hour;

printf("Crrrrrunchy Minibench\n");

for (j=0; j<=10000; j++)
{
	for (i=0; i<=0xffff; i++)
	{
	    k=j*(i+j)/(j+1);
	}
	/*************************************
	 *  ohne fprintf optimiert gcc die
	 *  ganze schleife weg, wie klug ;)
	 ************************************/
	fprintf(stderr, "%d : %d \n",j,k);
}

now = time((time_t *)NULL);
t = localtime(&now);
t2 = t->tm_sec + 60*t->tm_min + 60*60*t->tm_hour;
printf("Done in %d Seconds, not bad.\n",t2-t1);
printf("Send your Time with uname -a to tecneeq@gmx.net\n");
}





