@Benchmark public Map<Product, DoubleSummaryStatistics> aggregateByProduct_serial_lazy_jdk() { Map<Product, DoubleSummaryStatistics> result = this.jdkPositions.stream().collect( Collectors.groupingBy( Position::getProduct, Collectors.summarizingDouble(Position::getMarketValue))); Assert.assertNotNull(result); return result; }
@Benchmark public Map<Account, DoubleSummaryStatistics> aggregateByAccount_serial_lazy_jdk() { Map<Account, DoubleSummaryStatistics> accountDoubleMap = this.jdkPositions.stream().collect( Collectors.groupingBy( Position::getAccount, Collectors.summarizingDouble(Position::getMarketValue))); Assert.assertNotNull(accountDoubleMap); return accountDoubleMap; }
@Benchmark public Map<String, DoubleSummaryStatistics> aggregateByCategory_serial_lazy_jdk() { Map<String, DoubleSummaryStatistics> categoryDoubleMap = this.jdkPositions.stream().collect( Collectors.groupingBy( Position::getCategory, Collectors.summarizingDouble(Position::getMarketValue))); Assert.assertNotNull(categoryDoubleMap); return categoryDoubleMap; }
@Benchmark public Map<String, DoubleSummaryStatistics> aggregateByCategory_serial_lazy_streams_gsc() { Map<String, DoubleSummaryStatistics> categoryDoubleMap = this.gscPositions.stream().collect( Collectors.groupingBy( Position::getCategory, Collectors.summarizingDouble(Position::getMarketValue))); Assert.assertNotNull(categoryDoubleMap); return categoryDoubleMap; }
@Benchmark public Map<Account, DoubleSummaryStatistics> aggregateByAccount_parallel_lazy_jdk() { Map<Account, DoubleSummaryStatistics> result = this.jdkPositions.parallelStream().collect( Collectors.groupingBy( Position::getAccount, Collectors.summarizingDouble(Position::getMarketValue))); Assert.assertNotNull(result); return result; }
@Benchmark public Map<Account, DoubleSummaryStatistics> aggregateByAccount_parallel_lazy_streams_gsc() { Map<Account, DoubleSummaryStatistics> result = this.gscPositions.parallelStream().collect( Collectors.groupingBy( Position::getAccount, Collectors.summarizingDouble(Position::getMarketValue))); Assert.assertNotNull(result); return result; }
@Benchmark public Map<String, DoubleSummaryStatistics> aggregateByCategory_parallel_lazy_streams_gsc() { Map<String, DoubleSummaryStatistics> result = this.gscPositions.parallelStream().collect( Collectors.groupingBy(Position::getCategory, Collectors.summarizingDouble(Position::getMarketValue))); Assert.assertNotNull(result); return result; }
@Benchmark public Map<Account, DoubleSummaryStatistics> aggregateByAccount_serial_lazy_streams_gsc() { Map<Account, DoubleSummaryStatistics> accountDoubleMap = this.gscPositions.stream().collect( Collectors.groupingBy( Position::getAccount, Collectors.summarizingDouble(Position::getMarketValue))); Assert.assertNotNull(accountDoubleMap); return accountDoubleMap; }
@Benchmark public Map<Product, DoubleSummaryStatistics> aggregateByProduct_parallel_lazy_jdk() { Map<Product, DoubleSummaryStatistics> result = this.jdkPositions.parallelStream().collect( Collectors.groupingBy( Position::getProduct, Collectors.summarizingDouble(Position::getMarketValue))); Assert.assertNotNull(result); return result; }
@Benchmark public Map<Product, DoubleSummaryStatistics> aggregateByProduct_serial_lazy_streams_gsc() { Map<Product, DoubleSummaryStatistics> result = this.gscPositions.stream().collect( Collectors.groupingBy( Position::getProduct, Collectors.summarizingDouble(Position::getMarketValue))); Assert.assertNotNull(result); return result; }
@Benchmark public Map<Product, DoubleSummaryStatistics> aggregateByProduct_parallel_lazy_streams_gsc() { Map<Product, DoubleSummaryStatistics> result = this.gscPositions.parallelStream().collect( Collectors.groupingBy( Position::getProduct, Collectors.summarizingDouble(Position::getMarketValue))); Assert.assertNotNull(result); return result; }
@Benchmark public Map<String, DoubleSummaryStatistics> aggregateByCategory_parallel_lazy_jdk() { Map<String, DoubleSummaryStatistics> result = this.jdkPositions.parallelStream().collect( Collectors.groupingBy(Position::getCategory, Collectors.summarizingDouble(Position::getMarketValue))); Assert.assertNotNull(result); return result; }
.collect(Collectors.summarizingDouble(f -> ((NumericFeature) f).getValue())) ).collect().stream().map(p -> {
default DoubleSummaryStatistics doubleStats(ToDoubleFunction<T> fn){ return stream().collect(Collectors.summarizingDouble(fn)); }
/** Returns min and max value applying the expression over the feature collection */ public static NumberRange<Double> getMinMax( ListFeatureCollection fc, Expression attributeExpression) { DoubleSummaryStatistics stats = fc.stream() .collect( Collectors.summarizingDouble( f -> attributeExpression.evaluate(f, Double.class))); return new NumberRange<>(Double.class, stats.getMin(), stats.getMax()); }
protected String getDoubleListSummary(List<Double> values, String numericType ) { DoubleSummaryStatistics statistics = values.stream() .collect(Collectors.summarizingDouble(Double::doubleValue)); return getSummary(numericType, new SummaryStatistics(statistics)); }
public void computeSalaryStatistics() { List<Team> teams = parseSalaries(); DoubleSummaryStatistics teamStats = teams.stream() .mapToDouble(Team::getSalary) .collect(DoubleSummaryStatistics::new, DoubleSummaryStatistics::accept, DoubleSummaryStatistics::combine); printStats(teamStats); teamStats = teams.stream() .collect(Collectors.summarizingDouble(Team::getSalary)); printStats(teamStats); }
default DoubleSummaryStatistics doubleStats(ToDoubleFunction<T> fn){ return stream().collect(Collectors.summarizingDouble(fn)); }
@Test public void maxGauge() { Registry r = newRegistry(true, 10000); r.maxGauge("foo").set(1.0); r.maxGauge("foo").set(3.0); r.maxGauge("foo").set(2.0); final DoubleSummaryStatistics valueSummary = r.gauges() .filter(Functions.nameEquals("foo")) .collect(Collectors.summarizingDouble(Gauge::value)); Assertions.assertEquals(1, valueSummary.getCount()); Assertions.assertEquals(3.0, valueSummary.getSum(), 1e-12); }
@Test public void gauges() { Registry r = newRegistry(true, 10000); r.gauge(r.createId("foo", "a", "1")).set(1.0); r.gauge(r.createId("foo", "a", "2")).set(2.0); r.gauge(r.createId("bar")).set(7.0); Assertions.assertEquals(3, r.gauges().count()); final DoubleSummaryStatistics valueSummary = r.gauges() .filter(Functions.nameEquals("foo")) .collect(Collectors.summarizingDouble(Gauge::value)); Assertions.assertEquals(2, valueSummary.getCount()); Assertions.assertEquals(3.0, valueSummary.getSum(), 1e-12); Assertions.assertEquals(1.5, valueSummary.getAverage(), 1e-12); }