LINUX.ORG.RU

История изменений

Исправление Midael, (текущая версия) :

Теперь это бессмысленных микробенчмарков тред

Исходная версия Midael, :

Теперь это бесмысленных микробенчмарков тред

public static void main(String[] argv) {
        Function<Integer, Integer> f1 = (i) -> i+1;
        Function<Integer, Integer> f2 = (i) -> i+2;
        Function<Integer, Integer> f3 = (i) -> i+1;
        int iter = 10000000;
        // simple
        long startTime1 = System.currentTimeMillis();
        for(int i = 0; i < iter; i++) {
            f(i);
        }
        long endTime1 = System.currentTimeMillis();
        // hof
        long startTime2 = System.currentTimeMillis();
        for(int i = 0; i < iter; i++) {
            f1.compose(f2).compose(f3).apply(i);
        }
        long endTime2 = System.currentTimeMillis();
        System.out.format("Time elapsed simple: %d ms%n", endTime1 - startTime1);
        System.out.format("Time elapsed hof: %d ms%n", endTime2 - startTime2);
    }

    static int f(int x) {
        return x + 1 + 2 + 1;
    }
Time elapsed simple: 4 ms
Time elapsed hof: 183 ms