Skip to content

Commit daa4552

Browse files
committed
Return value instead of using blackhole object
1 parent fd8fefd commit daa4552

File tree

1 file changed

+24
-19
lines changed

1 file changed

+24
-19
lines changed

benchmark/src/jvmMain/kotlin/io/github/optimumcode/json/schema/benchmark/AbstractComparisonBenchmark.kt

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,14 @@ import com.networknt.schema.JsonSchemaFactory
66
import com.networknt.schema.OutputFormat
77
import com.networknt.schema.SchemaValidatorsConfig
88
import com.networknt.schema.SpecVersion.VersionFlag.V7
9+
import com.networknt.schema.output.OutputFlag
10+
import com.networknt.schema.output.OutputUnit
911
import io.github.optimumcode.json.schema.ErrorCollector
1012
import io.github.optimumcode.json.schema.OutputCollector
1113
import io.github.optimumcode.json.schema.ValidationError
14+
import io.github.optimumcode.json.schema.ValidationOutput.Detailed
15+
import io.github.optimumcode.json.schema.ValidationOutput.Flag
16+
import io.github.optimumcode.json.schema.ValidationOutput.Verbose
1217
import io.github.optimumcode.json.schema.fromStream
1318
import io.openapiprocessor.jackson.JacksonConverter
1419
import io.openapiprocessor.jsonschema.reader.UriReader
@@ -19,8 +24,8 @@ import io.openapiprocessor.jsonschema.schema.Output.FLAG
1924
import io.openapiprocessor.jsonschema.schema.SchemaStore
2025
import io.openapiprocessor.jsonschema.validator.Validator
2126
import io.openapiprocessor.jsonschema.validator.ValidatorSettings
27+
import io.openapiprocessor.jsonschema.validator.steps.ValidationStep
2228
import kotlinx.benchmark.Benchmark
23-
import kotlinx.benchmark.Blackhole
2429
import kotlinx.benchmark.Setup
2530
import kotlinx.serialization.ExperimentalSerializationApi
2631
import kotlinx.serialization.json.Json
@@ -96,49 +101,49 @@ abstract class AbstractComparisonBenchmark {
96101
}
97102

98103
@Benchmark
99-
fun validateOpenApi(bh: Blackhole) {
100-
bh.consume(openapiValidator.validate(openapiSchema, openapiDocument))
104+
fun validateOpenApi(): ValidationStep {
105+
return openapiValidator.validate(openapiSchema, openapiDocument)
101106
}
102107

103108
@Benchmark
104-
fun validateNetworkntFlag(bh: Blackhole) {
105-
bh.consume(networkntSchema.validate(networkntDocument, OutputFormat.FLAG))
109+
fun validateNetworkntFlag(): OutputFlag? {
110+
return networkntSchema.validate(networkntDocument, OutputFormat.FLAG)
106111
}
107112

108113
@Benchmark
109-
fun validateNetworkntDetailed(bh: Blackhole) {
110-
bh.consume(networkntSchema.validate(networkntDocument, OutputFormat.LIST))
114+
fun validateNetworkntDetailed(): OutputUnit {
115+
return networkntSchema.validate(networkntDocument, OutputFormat.LIST)
111116
}
112117

113118
@Benchmark
114-
fun validateNetworkntVerbose(bh: Blackhole) {
115-
bh.consume(networkntSchema.validate(networkntDocument, OutputFormat.HIERARCHICAL))
119+
fun validateNetworkntVerbose(): OutputUnit {
120+
return networkntSchema.validate(networkntDocument, OutputFormat.HIERARCHICAL)
116121
}
117122

118123
@Benchmark
119-
fun validateKmpEmptyCollector(bh: Blackhole) {
120-
bh.consume(schema.validate(document, ErrorCollector.EMPTY))
124+
fun validateKmpEmptyCollector(): Boolean {
125+
return schema.validate(document, ErrorCollector.EMPTY)
121126
}
122127

123128
@Benchmark
124-
fun validateKmpCollectErrors(bh: Blackhole) {
129+
fun validateKmpCollectErrors(): List<ValidationError> {
125130
val errors = arrayListOf<ValidationError>()
126131
schema.validate(document, errors::add)
127-
bh.consume(errors)
132+
return errors
128133
}
129134

130135
@Benchmark
131-
fun validateKmpFlag(bh: Blackhole) {
132-
bh.consume(schema.validate(document, OutputCollector.flag()))
136+
fun validateKmpFlag(): Flag {
137+
return schema.validate(document, OutputCollector.flag())
133138
}
134139

135140
@Benchmark
136-
fun validateKmpDetailed(bh: Blackhole) {
137-
bh.consume(schema.validate(document, OutputCollector.detailed()))
141+
fun validateKmpDetailed(): Detailed {
142+
return schema.validate(document, OutputCollector.detailed())
138143
}
139144

140145
@Benchmark
141-
fun validateKmpVerbose(bh: Blackhole) {
142-
bh.consume(schema.validate(document, OutputCollector.verbose()))
146+
fun validateKmpVerbose(): Verbose {
147+
return schema.validate(document, OutputCollector.verbose())
143148
}
144149
}

0 commit comments

Comments
 (0)