/** * Estimate the {@link TimeEstimate} for all {@link AtomicExecution}s in this instance. * * @return the {@link TimeEstimate} */ public TimeEstimate estimateExecutionTime() { return this.estimateExecutionTime(this.estimationContext); }
/** * Calculates the overall {@link TimeEstimate} of this instance. * * @return the overall {@link TimeEstimate} */ public TimeEstimate getOverallTimeEstimate(Configuration configuration) { final long platformInitializationTime = this.initializedPlatforms.stream() .mapToLong(platform -> platform.getInitializeMillis(configuration)) .sum(); final TimeEstimate executionTime = this.atomicExecutionGroups.stream() .map(group -> group.estimateExecutionTime()) .reduce(TimeEstimate.ZERO, TimeEstimate::plus); return executionTime.plus(platformInitializationTime); }