История изменений
Исправление 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