in benchmarks/multiplatform/benchmarks/src/commonMain/kotlin/Config.kt [33:69]
fun parseArgs(args: Array<String>): Config {
val modes = mutableSetOf<Mode>()
val benchmarks = mutableMapOf<String, Int>()
val disabledBenchmarks = mutableSetOf<String>()
var versionInfo: String? = null
var saveStatsToCSV: Boolean = false
var saveStatsToJSON: Boolean = false
var runServer: Boolean = false
for (arg in args) {
if (arg.startsWith("modes=", ignoreCase = true)) {
modes.addAll(argToSet(arg.decodeArg()).map { Mode.valueOf(it) })
} else if (arg.startsWith("benchmarks=", ignoreCase = true)) {
benchmarks += argToMap(arg.decodeArg())
} else if (arg.startsWith("versionInfo=", ignoreCase = true)) {
versionInfo = arg.substringAfter("=").decodeArg()
} else if (arg.startsWith("saveStatsToCSV=", ignoreCase = true)) {
saveStatsToCSV = arg.substringAfter("=").toBoolean()
} else if (arg.startsWith("saveStatsToJSON=", ignoreCase = true)) {
saveStatsToJSON = arg.substringAfter("=").toBoolean()
} else if (arg.startsWith("disabledBenchmarks=", ignoreCase = true)) {
disabledBenchmarks += argToMap(arg.decodeArg()).keys
} else if (arg.startsWith("runServer=", ignoreCase = true)) {
runServer = arg.substringAfter("=").toBoolean()
}
}
return Config(
modes = modes,
benchmarks = benchmarks,
disabledBenchmarks = disabledBenchmarks,
versionInfo = versionInfo,
saveStatsToCSV = saveStatsToCSV,
saveStatsToJSON = saveStatsToJSON,
runServer = runServer,
)
}