Комментарии 6
а какова была цель данной лабораторной работы ?
+1
Кто-то ещё пытается бенчмаркать без использования JMH в 2017 году?
Так вы пытаетесь анализировать производительность стримов, а не лямбд. Заголовок misleading.
Так вы пытаетесь анализировать производительность стримов, а не лямбд. Заголовок misleading.
+7
Поискал в статье про замеры производительность буквосочетание jmh, не нашёл, и очень удивился. Вы сознательно не стали им пользоваться?
+3
Я сознательно переписал, тесты пятилетней давности, чтобы глянуть на результат, но похоже сообщество требует benchmarks. Видимо придется реализовать!
-1
Насколько я понимаю версия с преобразованием к стриму примитивов должна быть эффективней.
final Double = sales
.stream()
.mapToDouble(e -> e.getCost())
.max()
.getAsDouble();
+1
Немного подумал и понял что если измерять производительность именно лямбд, то логичнее сравнивать такие реализации:
Предполагаю что в этом случае производительность не будет существенно отличаться, но версия с лямбда выражением гораздо компактней.
final Double maxCost = Collections.max(Collections2.transform(sales, new Function<Sale, Double>() {
@Override
public Double apply(final Sale input) {
return input.getCost();
}
}));
final maxCost = Collections.max(Collections2.transform(sales, e -> e.getCost()));
Предполагаю что в этом случае производительность не будет существенно отличаться, но версия с лямбда выражением гораздо компактней.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Производительность lambda-выражений в Java 8