")
+ def compareConfigurations(configuration):
+ hasResults = instanceSetID in configuration["instanceSets"] and len(aggregatedResults[("total", "")][configuration["id"]]["results"]) > 0
- for configuration in configurations:
+ if not hasResults:
+ return (0, config["limits"]["time"])
+
+ return (-aggregatedResults[("total", "")][configuration["id"]]["instances solved"], aggregatedResults[("total", "")][configuration["id"]]["average runtime"])
+
+ sortedConfigurations = sorted(configurations, key = compareConfigurations)
+
+ if format == "html":
+ print("
" + instanceSetID + " (" + type + ")
IPC
domain
")
+ else:
+ print("# " + instanceSetID)
+ print("domain", end = "")
+
+ for configuration in sortedConfigurations:
if not instanceSetID in configuration["instanceSets"]:
continue
- print("
")
+ if format == "html":
+ print("")
+ else:
+ print("")
for ipcDomain, results in sorted(aggregatedResults.items()):
- print("
" + ipcDomain[0] + "
" + ipcDomain[1] + "
")
+ if format == "html":
+ print("
" + ipcDomain[0] + "
" + ipcDomain[1] + "
")
+ else:
+ print((ipcDomain[0][4:] if ipcDomain[0][0:4] == "ipc-" else ipcDomain[0]) + ("/" + ipcDomain[1] if ipcDomain[1] else ""), end = "")
- for configuration in configurations:
+ for configuration in sortedConfigurations:
if not instanceSetID in configuration["instanceSets"]:
continue
if len(results[configuration["id"]]["results"]) == 0:
- print("
")
+ if format == "html":
+ print("
")
+ else:
+ print("\t", end = "")
continue
r = results[configuration["id"]][type]
@@ -297,9 +323,18 @@ def renderAggregatedResultsTable(type, configurations, instanceSetID, instanceSe
value = (r / config["limits"]["time"]) ** 0.2 if type == "average runtime" else 1.0 - r / max(1, len(results[configuration["id"]]["results"]))
classes = " result-" + str(int(value * 100))
- print("