From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?Miguel_Gonz=E1lez_Casta=F1os?= Subject: CPU tests Date: Fri, 31 Mar 2006 15:08:00 +0200 Message-ID: <442D29B0.6020806@tid.es> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_p8Ie7OhfN9eLQuCgJyF9nA)" Return-path: Sender: linux-admin-owner@vger.kernel.org List-Id: To: linux-admin@vger.kernel.org This is a multi-part message in MIME format. --Boundary_(ID_p8Ie7OhfN9eLQuCgJyF9nA) Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7BIT Dear all, I am trying to launch CPU tests on a Pentium IV Prescott 3.0 Ghz with 4Gb of RAM. I have tried some tests from distributed.net and everything seems to be ok, although with the test attached in the email (sorry for the size of the mail), I am experiencing some problems. As you can see with the static flag the number generation is faster than without that flag. I have gcc 4.0.2 under Fedora with a compiled kernel 2.6.15. gcc test-cpu-2.c -o test-cpu-2 -lm -O3 ./test-cpu-2 10 millions of rand() en 6.270 seconds (result of i.e.: 1829503671) 10 millions of sqrt(i) en 0.210 seconds (result of i.e..: 3162) 10 millions of random() en 4.260 seconds (result of i.e..: 25948597) 10 millions of log(i) en 12.510 seconds (result of i.e..: 16) gcc test-cpu-2.c -o test-cpu-2 -lm -O3 -static ./test-cpu-2 10 millions de rand() en 0.220 seconds (result of i.e.: 1396595316) 10 millions de sqrt(i) en 0.210 seconds (result of i.e.: 3162) 10 millions de random() en 0.210 seconds (result of i.e.: 12140342) 10 millions de log(i) en 0.960 seconds (result of i.e.: 16) Many thanks in advance Miguel ps: If you try the C code, you will see that I have translated the spanish messages in the email but not in the code, hope it is easy to understand :) --Boundary_(ID_p8Ie7OhfN9eLQuCgJyF9nA) Content-type: text/plain; name=test-cpu2.c Content-transfer-encoding: 7BIT Content-disposition: inline; filename=test-cpu2.c #include #include #include #include #include int hora(void) { time_t t; time(&t); struct tm* petm = localtime(&t); return petm->tm_hour; } int minutos(void) { time_t t; time(&t); struct tm* petm = localtime(&t); return petm->tm_min; } int segundos(void) { time_t t; time(&t); struct tm* petm = localtime(&t); return petm->tm_sec; } int main(int argc, char ** argv) { time_t seconds; int i, r, numero_ciclos, numero_ciclosM, t1, t2; clock_t start, end; // Se inicializa el generador de numeros aleatorios time(&seconds); srand((unsigned int) seconds); numero_ciclos = 10000000; numero_ciclosM = numero_ciclos / 1E6; start = clock(); for(i=0; i