Skip to content

Commit

Permalink
test: More benchmark tests
Browse files Browse the repository at this point in the history
  • Loading branch information
sya-ri committed Sep 16, 2024
1 parent fddda18 commit cf71df7
Showing 1 changed file with 133 additions and 0 deletions.
133 changes: 133 additions & 0 deletions src/jmh/kotlin/dev/s7a/ktconfig/Benchmark.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,137 @@ open class Benchmark {

return ktConfigString<Data>("value: benchmark")
}

@Benchmark
fun saveSingle(): String {
data class Data(
val value: String,
)

return saveKtConfigString<Data>(Data("benchmark"))
}

@Benchmark
fun list(): Any? {
data class Data(
val value: List<String>,
)

return ktConfigString<Data>(
"""
value:
- text
- 1
- 9223372036854775807
- テスト
- ""
""".trimIndent(),
)
}

@Benchmark
fun saveList(): String {
data class Data(
val value: List<String>,
)

return saveKtConfigString<Data>(
Data(
listOf(
"text",
"1",
"9223372036854775807",
"テスト",
),
),
)
}

@Benchmark
fun map(): Any? {
data class Data(
val value: Map<String, String>,
)

return ktConfigString<Data>(
"""
value:
key: value
some: text
number: 1
long-number: 9223372036854775807
""".trimIndent(),
)
}

@Benchmark
fun saveMap(): String {
data class Data(
val value: Map<String, String>,
)

return saveKtConfigString<Data>(
Data(
mapOf(
"key" to "value",
"some" to "text",
"number" to "1",
"long-number" to "9223372036854775807",
),
),
)
}

@Benchmark
fun recursive(): Any? {
data class Data(
val value: Data?,
)

return ktConfigString<Data>(
"""
value:
value:
value:
value:
value:
value:
value:
value:
value:
value: null
""".trimIndent(),
)
}

@Benchmark
fun saveRecursive(): String {
data class Data(
val value: Data?,
)

return saveKtConfigString<Data>(
Data(
Data(
Data(
Data(
Data(
Data(
Data(
Data(
Data(
Data(
null,
),
),
),
),
),
),
),
),
),
),
)
}
}

0 comments on commit cf71df7

Please sign in to comment.