Pull to refresh

Comments 6

а какова была цель данной лабораторной работы ?

Кто-то ещё пытается бенчмаркать без использования JMH в 2017 году?
Так вы пытаетесь анализировать производительность стримов, а не лямбд. Заголовок misleading.

Поискал в статье про замеры производительность буквосочетание jmh, не нашёл, и очень удивился. Вы сознательно не стали им пользоваться?

Я сознательно переписал, тесты пятилетней давности, чтобы глянуть на результат, но похоже сообщество требует benchmarks. Видимо придется реализовать!
Насколько я понимаю версия с преобразованием к стриму примитивов должна быть эффективней.
			final Double = sales
	                .stream()
	                .mapToDouble(e -> e.getCost())
	                .max()
	                .getAsDouble();
Немного подумал и понял что если измерять производительность именно лямбд, то логичнее сравнивать такие реализации:
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()));

Предполагаю что в этом случае производительность не будет существенно отличаться, но версия с лямбда выражением гораздо компактней.
Sign up to leave a comment.

Articles