lundi 23 mai 2016

Simple performance test, different results

I am made performance test of collection, but every time, when i am starting test, i have different results. Why it is happening and what can i do for take correct results? I am think my problem with option VM.

public class PerformanceTest {
private static void addToTheBeginTest() {
    String nameOfMethod = "Method add 250_000 result: ";

    List<Integer> arrayList = new ArrayList<>();
    StopWatch.start();
    for (int i = 0; i < 250_000; i++) {
        arrayList.add(0, 1);
    }
    long resultAL = StopWatch.getElapsedTime();

    outputInFile(nameOfMethod, resultAL);
}

private static void outputInFile(String nameOfMethod, long resultAl) {
    File outputFile = new File("D:\\Idea Project\\ExperimentalProject\\src\\SimplePerformance\\");
    outputFile.mkdir();
    try (FileWriter writer = new FileWriter("D:\\Idea Project\\ExperimentalProject\\src\\SimplePerformance\\SimplePerformanceTest.txt", true)) {
        writer.write(nameOfMethod);
        writer.write(String.valueOf(resultAl) + " mc \n");
    } catch (IOException e) {
        System.out.println(e.getMessage());
    }
}

class StopWatch {
private static long result;

public static void start() {
    result = System.currentTimeMillis();
}

public static long getElapsedTime() {
    return System.currentTimeMillis() - result;
   }
}

Results of 3 times

enter image description here

Aucun commentaire:

Enregistrer un commentaire