Java PlannerBenchmarkFactory类使用实例

发布时间:2025-12-09 11:59:06 浏览次数:2

实例1: getConfigsFromBenchmark

import org.optaplanner.benchmark.api.PlannerBenchmarkFactory; //导入依赖的package包/类static ImmutableMap<String, SolverConfig> getConfigsFromBenchmark(    String xml) {  final PlannerBenchmarkFactory plannerBenchmarkFactory =    PlannerBenchmarkFactory      .createFromFreemarkerXmlReader(new StringReader(xml));  final PlannerBenchmark plannerBenchmark =    plannerBenchmarkFactory.buildPlannerBenchmark();  final PlannerBenchmarkRunner pbr =    (PlannerBenchmarkRunner) plannerBenchmark;  final ImmutableMap.Builder<String, SolverConfig> builder =    ImmutableMap.builder();  for (final SolverBenchmarkResult sbr : pbr.getPlannerBenchmarkResult()    .getSolverBenchmarkResultList()) {    builder.put(sbr.getName().replaceAll(" ", NAME_SEPARATOR),      sbr.getSolverConfig());  }  return builder.build();} 

实例2: main

import org.optaplanner.benchmark.api.PlannerBenchmarkFactory; //导入依赖的package包/类public static void main(String[] args) {    List<Roster> rosterList = generateRosters();    SolverFactory<Roster> solverFactory = SolverFactory.createFromXmlResource(            "org/optaplanner/openshift/employeerostering/server/solver/employeeRosteringSolverConfig.xml");    PlannerBenchmarkFactory benchmarkFactory = PlannerBenchmarkFactory.createFromSolverFactory(solverFactory);    PlannerBenchmark plannerBenchmark = benchmarkFactory.buildPlannerBenchmark(rosterList);    plannerBenchmark.benchmark();} 

实例3: buildAndBenchmark

import org.optaplanner.benchmark.api.PlannerBenchmarkFactory; //导入依赖的package包/类public void buildAndBenchmark(String[] args) {    boolean aggregator = false;    ArgOption argOption = null;    for (String arg : args) {        if (arg.equalsIgnoreCase(AGGREGATOR_ARG)) {            aggregator = true;        } else if (benchmarkArgumentMap.containsKey(arg)) {            if (argOption != null) {                throw new IllegalArgumentException("The args (" + Arrays.toString(args)                        + ") contains arg name (" + argOption.getName() + ") and arg name (" + arg + ").");            }            argOption = benchmarkArgumentMap.get(arg);        } else {            throw new IllegalArgumentException("The args (" + Arrays.toString(args)                    + ") contains an arg (" + arg + ") which is not part of the recognized args ("                    + benchmarkArgumentMap.keySet() + " or " + AGGREGATOR_ARG + ").");        }    }    if (argOption == null) {        argOption = benchmarkArgumentMap.values().iterator().next();    }    PlannerBenchmarkFactory plannerBenchmarkFactory = argOption.buildPlannerBenchmarkFactory();    if (!aggregator) {        PlannerBenchmark plannerBenchmark = plannerBenchmarkFactory.buildPlannerBenchmark();        plannerBenchmark.benchmark();    } else {        BenchmarkAggregatorFrame.createAndDisplay(plannerBenchmarkFactory);    }} 
BENCHMARKFACTORY
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477