package net.jrtechs; import java.util.Vector; public class GenericTester { public long timeTrialMS(ParallelExecutor executor, Vector> tasks) { long start = System.nanoTime(); executor.runTasks(tasks); long finish = System.nanoTime(); return (finish-start)/1000000; } public Result testAll(Vector> tasks) { ParallelExecutor streams = new ParallelStreamsExecutor<>(); ParallelExecutor threads = new RunThreads<>(); ParallelExecutor manager = new Manager<>(8); ParallelExecutor single = new SingleThread<>(); ParallelExecutor pool = new ThreadPoolExecutor<>(); Result res = new Result(); res.streams = timeTrialMS(streams, tasks); res.manager = timeTrialMS(manager, tasks); res.threads = timeTrialMS(threads, tasks); res.pool = timeTrialMS(pool, tasks); res.singleThread = timeTrialMS(single, tasks); return res; } }