PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche Hilfe bei Algorithmus



H4CK3RD3LUX3
03.11.2008, 20:47
ich will messen wie lange ein algorithmus braucht um komplett ausgeführt zu werden
hab jetzt mit date und .getseconds gearbeitet
einmal vor und einmal nach der ausführung und dann den startwert vom endwertabgezogen
aber da steht nur 0
geht um fragment 7 ganz unten, das dauert bei n=200 schonnen weilchen und da sollte eigentlich nicht 0 stehen denke ich
aber hab mit date auch noch nicht viel gemacht


import java.util.Date;

public class fragments {

static long sum = 0;
static final int n = 200;
static Date start = new Date();
static Date stop = new Date();

public static void main(String[] args) {

// Fragment #1
for ( int i = 0; i < n; i ++)
sum++;

System.out.println(sum);

sum = 0;
// Fragment #2
for ( int i = 0; i < n; i ++)
for ( int j = 0; j < n; j ++)
sum++;

System.out.println(sum);

sum = 0;
// Fragment #3
for ( int i = 0; i < n; i ++)
for ( int j = i; j < n; j ++)
sum++;

System.out.println(sum);

sum = 0;
// Fragment #4
for ( int i = 0; i < n; i ++)
sum ++;
for ( int j = 0; j < n; j ++)
sum ++;

System.out.println(sum);

sum = 0;
// Fragment #5
for ( int i = 0; i < n; i ++)
for ( int j = 0; j < n*n; j ++)
sum++;

System.out.println(sum);

sum = 0;
// Fragment #6
for ( int i = 0; i < n; i ++)
for ( int j = 0; j < i; j ++)
sum++;

System.out.println(sum);

sum = 0;
// Fragment #7
long test1 = start.getSeconds();
for ( int i = 1; i < n; i ++)
for ( int j = 0; j < n*n; j ++)
if (j % i == 0)
for (int k = 0; k < j; k++)
sum++;

long test2 = stop.getSeconds();
System.out.println(sum + " / " + (test2 - test1));

}

}

LudenJupp
03.11.2008, 22:26
Du hast einen Java-Code und _keinen JavaSCRIPT-Code_ !
Nimm kein Datum, sondern die wirkliche Zeit ;-)


long vorher;
long nachher;

vorher = System.currentTimeMillis();

// lange lange lange lange Prozedur... tick-tack, tick-tack, ...

nachher = System.currentTimeMillis();

System.out.println("Zeit benötigt: " + ((nachher - vorher)) + " ms");