-
Notifications
You must be signed in to change notification settings - Fork 62
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactors partiql-tests-runner for multiple engines (#1289)
- Loading branch information
Showing
20 changed files
with
489 additions
and
356 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
44 changes: 44 additions & 0 deletions
44
test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTest.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
package org.partiql.runner | ||
|
||
import org.junit.jupiter.params.ParameterizedTest | ||
import org.junit.jupiter.params.provider.ArgumentsSource | ||
import org.partiql.runner.schema.TestCase | ||
import org.partiql.runner.skip.LANG_KOTLIN_EVAL_EQUIV_FAIL_LIST | ||
import org.partiql.runner.skip.LANG_KOTLIN_EVAL_FAIL_LIST | ||
import org.partiql.runner.test.TestProvider | ||
import org.partiql.runner.test.TestRunner | ||
import org.partiql.runner.test.executor.LegacyExecutor | ||
|
||
/** | ||
* Runs the conformance tests with an expected list of failing tests. Ensures that tests not in the failing list | ||
* succeed with the expected result. Ensures that tests included in the failing list fail. | ||
* | ||
* These tests are included in the normal test/building. | ||
* Update May 2023: Now excluded from the normal build, because the fail lists are out of date. | ||
* TODO: Come up with a low-burden method of maintaining fail / exclusion lists. | ||
*/ | ||
class ConformanceTest { | ||
|
||
private val factory = LegacyExecutor.Factory | ||
private val runner = TestRunner(factory) | ||
|
||
// Tests the eval tests with the Kotlin implementation | ||
@ParameterizedTest(name = "{arguments}") | ||
@ArgumentsSource(TestProvider.Eval::class) | ||
fun validatePartiQLEvalTestData(tc: TestCase) { | ||
when (tc) { | ||
is TestCase.Eval -> runner.test(tc, LANG_KOTLIN_EVAL_FAIL_LIST) | ||
else -> error("Unsupported test case category") | ||
} | ||
} | ||
|
||
// Tests the eval equivalence tests with the Kotlin implementation | ||
@ParameterizedTest(name = "{arguments}") | ||
@ArgumentsSource(TestProvider.Equiv::class) | ||
fun validatePartiQLEvalEquivTestData(tc: TestCase) { | ||
when (tc) { | ||
is TestCase.Equiv -> runner.test(tc, LANG_KOTLIN_EVAL_EQUIV_FAIL_LIST) | ||
else -> error("Unsupported test case category") | ||
} | ||
} | ||
} |
44 changes: 44 additions & 0 deletions
44
test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestReport.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
package org.partiql.runner | ||
|
||
import org.junit.jupiter.api.extension.ExtendWith | ||
import org.junit.jupiter.params.ParameterizedTest | ||
import org.junit.jupiter.params.provider.ArgumentsSource | ||
import org.partiql.runner.report.ReportGenerator | ||
import org.partiql.runner.schema.TestCase | ||
import org.partiql.runner.test.TestProvider | ||
import org.partiql.runner.test.TestRunner | ||
import org.partiql.runner.test.executor.LegacyExecutor | ||
|
||
/** | ||
* Runs the conformance tests without a fail list, so we can document the passing/failing tests in the conformance | ||
* report. | ||
* | ||
* These tests are excluded from normal testing/building unless the `conformanceReport` gradle property is | ||
* specified (i.e. `gradle test ... -PconformanceReport`) | ||
*/ | ||
@ExtendWith(ReportGenerator::class) | ||
class ConformanceTestReport { | ||
|
||
private val factory = LegacyExecutor.Factory | ||
private val runner = TestRunner(factory) | ||
|
||
// Tests the eval tests with the Kotlin implementation without a fail list | ||
@ParameterizedTest(name = "{arguments}") | ||
@ArgumentsSource(TestProvider.Eval::class) | ||
fun validatePartiQLEvalTestData(tc: TestCase) { | ||
when (tc) { | ||
is TestCase.Eval -> runner.test(tc, emptyList()) | ||
else -> error("Unsupported test case category") | ||
} | ||
} | ||
|
||
// Tests the eval equivalence tests with the Kotlin implementation without a fail list | ||
@ParameterizedTest(name = "{arguments}") | ||
@ArgumentsSource(TestProvider.Equiv::class) | ||
fun validatePartiQLEvalEquivTestData(tc: TestCase) { | ||
when (tc) { | ||
is TestCase.Equiv -> runner.test(tc, emptyList()) | ||
else -> error("Unsupported test case category") | ||
} | ||
} | ||
} |
8 changes: 8 additions & 0 deletions
8
test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/Ion.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
package org.partiql.runner | ||
|
||
import com.amazon.ion.system.IonSystemBuilder | ||
|
||
/** | ||
* IonSystem for legacy pipelines and value comparison. | ||
*/ | ||
public val ION = IonSystemBuilder.standard().build() |
51 changes: 0 additions & 51 deletions
51
test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/Schema.kt
This file was deleted.
Oops, something went wrong.
55 changes: 55 additions & 0 deletions
55
test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/report/ReportGenerator.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
package org.partiql.runner.report | ||
|
||
import com.amazon.ion.IonType | ||
import com.amazon.ion.system.IonTextWriterBuilder | ||
import org.junit.jupiter.api.extension.AfterAllCallback | ||
import org.junit.jupiter.api.extension.ExtensionContext | ||
import org.junit.jupiter.api.extension.TestWatcher | ||
import java.io.File | ||
|
||
class ReportGenerator : TestWatcher, AfterAllCallback { | ||
var failingTests = emptySet<String>() | ||
var passingTests = emptySet<String>() | ||
var ignoredTests = emptySet<String>() | ||
override fun testFailed(context: ExtensionContext?, cause: Throwable?) { | ||
failingTests += context?.displayName ?: "" | ||
super.testFailed(context, cause) | ||
} | ||
|
||
override fun testSuccessful(context: ExtensionContext?) { | ||
passingTests += context?.displayName ?: "" | ||
super.testSuccessful(context) | ||
} | ||
|
||
override fun afterAll(p0: ExtensionContext?) { | ||
val file = File("./conformance_test_results.ion") | ||
val outputStream = file.outputStream() | ||
val writer = IonTextWriterBuilder.pretty().build(outputStream) | ||
writer.stepIn(IonType.STRUCT) // in: outer struct | ||
|
||
// set struct field for passing | ||
writer.setFieldName("passing") | ||
writer.stepIn(IonType.LIST) | ||
passingTests.forEach { passingTest -> | ||
writer.writeString(passingTest) | ||
} | ||
writer.stepOut() | ||
// set struct field for failing | ||
writer.setFieldName("failing") | ||
writer.stepIn(IonType.LIST) | ||
failingTests.forEach { failingTest -> | ||
writer.writeString(failingTest) | ||
} | ||
writer.stepOut() | ||
|
||
// set struct field for ignored | ||
writer.setFieldName("ignored") | ||
writer.stepIn(IonType.LIST) | ||
ignoredTests.forEach { ignoredTest -> | ||
writer.writeString(ignoredTest) | ||
} | ||
writer.stepOut() | ||
|
||
writer.stepOut() // out: outer struct | ||
} | ||
} |
9 changes: 9 additions & 0 deletions
9
test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/schema/Assertion.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package org.partiql.runner.schema | ||
|
||
import com.amazon.ion.IonValue | ||
|
||
sealed class Assertion { | ||
data class EvaluationSuccess(val expectedResult: IonValue) : Assertion() | ||
object EvaluationFailure : Assertion() | ||
// TODO: other assertion and test categories: https://github.com/partiql/partiql-tests/issues/35 | ||
} |
6 changes: 6 additions & 0 deletions
6
test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/schema/EquivalenceClass.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
package org.partiql.runner.schema | ||
|
||
data class EquivalenceClass( | ||
val id: String, | ||
val statements: List<String>, | ||
) |
10 changes: 10 additions & 0 deletions
10
test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/schema/Namespace.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
package org.partiql.runner.schema | ||
|
||
import com.amazon.ion.IonStruct | ||
|
||
data class Namespace( | ||
var env: IonStruct, | ||
val namespaces: MutableList<Namespace>, | ||
val testCases: MutableList<TestCase>, | ||
val equivClasses: MutableMap<String, List<String>> | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
35 changes: 35 additions & 0 deletions
35
test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/schema/TestCase.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
package org.partiql.runner.schema | ||
|
||
import com.amazon.ion.IonStruct | ||
import org.partiql.lang.eval.CompileOptions | ||
|
||
sealed class TestCase { | ||
abstract val name: String | ||
abstract val env: IonStruct | ||
abstract val compileOptions: CompileOptions | ||
abstract val assertion: Assertion | ||
|
||
data class Equiv( | ||
override val name: String, | ||
val statements: List<String>, | ||
override val env: IonStruct, | ||
override val compileOptions: CompileOptions, | ||
override val assertion: Assertion | ||
) : TestCase() { | ||
override fun toString(): String { | ||
return name + ", compileOption: " + compileOptions.typingMode | ||
} | ||
} | ||
|
||
data class Eval( | ||
override val name: String, | ||
val statement: String, | ||
override val env: IonStruct, | ||
override val compileOptions: CompileOptions, | ||
override val assertion: Assertion | ||
) : TestCase() { | ||
override fun toString(): String { | ||
return name + ", compileOption: " + compileOptions.typingMode | ||
} | ||
} | ||
} |
Oops, something went wrong.
1c3c79a
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JMH Benchmark
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncGroupingWithInterruptible
275.08167655884756
us/op264.5859767823037
us/op1.04
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncGroupingWithoutInterruptible
259.4467977869029
us/op262.83830823469185
us/op0.99
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncWithInterruptible
244.4911796966275
us/op222.20312592921033
us/op1.10
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncWithoutInterruptible
237.30498750651591
us/op231.92258365788294
us/op1.02
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinWithInterruptible
172.1136738064709
us/op168.47798030436542
us/op1.02
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinWithoutInterruptible
177.53860029368542
us/op177.27285922164825
us/op1.00
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggGroupWithInterruptible
12798650.704600003
us/op13024167.192250002
us/op0.98
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggGroupWithoutInterruptible
12698953.638500001
us/op13186894.90665
us/op0.96
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggWithInterruptible
5069813.8725
us/op5284291.34145
us/op0.96
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggWithoutInterruptible
4928765.23635
us/op5085935.7124
us/op0.97
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinWithInterruptible
37.96811365130208
us/op39.293707919487716
us/op0.97
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinWithoutInterruptible
38.50414141205046
us/op38.49822697253493
us/op1.00
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggGroupWithInterruptible
12903491.11365
us/op12907855.5861
us/op1.00
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggGroupWithoutInterruptible
12664480.51395
us/op13239175.299849998
us/op0.96
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggWithInterruptible
4907544.857899999
us/op5198398.709700001
us/op0.94
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggWithoutInterruptible
5087802.2048
us/op4866530.90125
us/op1.05
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinWithInterruptible
98734.58502909091
us/op96504.9919469697
us/op1.02
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinWithoutInterruptible
91631.57110037877
us/op100962.64940954544
us/op0.91
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler15
78.30976141304204
us/op80.78978927569341
us/op0.97
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler30
187.03846804479429
us/op155.48270707722682
us/op1.20
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator15
373167.4658
us/op378647.16483333334
us/op0.99
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30
736714.8382
us/op736216.463175
us/op1.00
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30WithData10
7057953.625549999
us/op7391771.283249999
us/op0.95
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser15
128.1026633616168
us/op132.76730117926425
us/op0.96
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser30
243.10329461999396
us/op244.72274058969373
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameCaseWhenThen
32.84862869757637
us/op33.66620756723985
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery
40.2363548229556
us/op41.012712868795326
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery01
218.6051453987202
us/op221.95132992206558
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery02
375.4429095298506
us/op382.19109827975626
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExceptUnionIntersectSixty
155.08906535346955
us/op163.97955511117192
us/op0.95
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExec20Expressions
48.834483399503156
us/op46.21731757654429
us/op1.06
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameFromLet
33.35263867593268
us/op33.37029835314627
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPattern
31.706105926617177
us/op32.226525940209385
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPreFilters
56.14860429339503
us/op57.06708607892674
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGroupLimit
38.258544264218
us/op39.330917201940444
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameLongFromSourceOrderBy
47.07436613110177
us/op46.961486045898134
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameManyJoins
47.98019174263992
us/op49.495234264230206
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedAggregates
83.87305944813019
us/op83.82170785358204
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedParen
13.390341682422484
us/op13.876834502312343
us/op0.96
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNamePivot
50.9433817378748
us/op51.33345781756452
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery15OrsAndLikes
150.9897418244527
us/op152.11609511097012
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery30Plus
84.79138721569856
us/op86.13191876449585
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFunc
37.72591668710545
us/op38.661963499509014
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFuncInProjection
42.5049964557297
us/op42.93496424528465
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryList
58.91066660106217
us/op60.71641090714711
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryNestedSelect
541.9106181214242
us/op545.547666552827
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuerySimple
12.131269287048863
us/op12.660379275415867
us/op0.96
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralJoins
17.13864992134051
us/op17.194566560703624
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralProjections
54.94393573612632
us/op56.06337531001149
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralSelect
155.63090131156815
us/op157.82613622731503
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSimpleInsert
23.364763049879326
us/op23.285251257139358
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeJoins
16.65819840690805
us/op17.027284136828975
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeProjections
22.327802173663155
us/op22.89946425914661
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeSelect
39.68560693708677
us/op42.42771363134547
us/op0.94
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameTimeZone
18.95081179813455
us/op19.412224951154652
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery
193.0836910507022
us/op196.39519438893518
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery01
756.2074126601756
us/op767.9417986858691
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameCaseWhenThen
18.07999175585677
us/op19.03760499882575
us/op0.95
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery
183.17770069341645
us/op182.86405960676944
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery01
83.90683805878953
us/op89.24700808201044
us/op0.94
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExceptUnionIntersectSixty
166.6222088958918
us/op163.74242013385856
us/op1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExec20Expressions
47.3722832985659
us/op48.46577077420313
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameFromLet
26.533923175458597
us/op26.97190618520196
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPattern
29.548008947782865
us/op29.83816125265567
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPreFilters
53.449845468772914
us/op54.1026409711032
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGroupLimit
24.826624051418953
us/op25.835668955155587
us/op0.96
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameLongFromSourceOrderBy
97.19821997984278
us/op98.69780299638047
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameManyJoins
32.04642848779447
us/op34.20541055934002
us/op0.94
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedAggregates
72.82367427582118
us/op71.52319110310991
us/op1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedParen
63.261770668746976
us/op63.45380979765662
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNamePivot
47.10512662037796
us/op49.46178785526861
us/op0.95
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery15OrsAndLikes
128.1855360923765
us/op131.87268427477088
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery30Plus
45.626963328483875
us/op46.09285966099803
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFunc
94.94133133680437
us/op98.09885221874596
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFuncInProjection
63.16384776914872
us/op63.46894488134732
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryList
56.01947311233994
us/op56.975375567384376
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryNestedSelect
101.71200299219264
us/op107.4063402324085
us/op0.95
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuerySimple
8.502448468794721
us/op9.280374899248605
us/op0.92
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralJoins
54.2481076333597
us/op55.09297355574415
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralProjections
39.53458956664469
us/op40.888700583662384
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralSelect
77.4352021266124
us/op74.85984164359829
us/op1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSimpleInsert
14.569854781735932
us/op15.363822220201962
us/op0.95
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeJoins
14.485229906303129
us/op14.78838176683089
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeProjections
12.618405795560278
us/op13.364029738737884
us/op0.94
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeSelect
24.380232529873663
us/op24.436118847107117
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameTimeZone
5.945355951044599
us/op6.120871413958372
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery
291.08945977790364
us/op314.6646923296227
us/op0.93
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery01
797.7509408179992
us/op816.306135060087
us/op0.98
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLCompiler
6.712366207405813
us/op6.936606122869077
us/op0.97
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLEvaluator
1.7686056508135592
us/op1.8656642626120448
us/op0.95
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLParser
7.502771704911768
us/op7.795927685509229
us/op0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameCaseWhenThen
31.225610024031727
us/op32.70005409920908
us/op0.95
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery
40.899146479087015
us/op40.665396859977704
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery01
217.4202884543985
us/op223.063502100913
us/op0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery02
378.0919646287551
us/op377.4867312119483
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameExceptUnionIntersectSixty
155.59236310139033
us/op159.19871070836132
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameExec20Expressions
43.553090250035
us/op46.019973757309444
us/op0.95
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameFromLet
32.026063277890806
us/op33.11538448810054
us/op0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGraphPattern
30.63173044386506
us/op31.451597629736522
us/op0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGraphPreFilters
55.69639026749925
us/op57.47423286132105
us/op0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGroupLimit
38.24674234589749
us/op40.94202492793217
us/op0.93
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameLongFromSourceOrderBy
47.45143038059029
us/op48.51504001517847
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameManyJoins
48.22832796155115
us/op48.765412884700645
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameNestedAggregates
81.39996305475816
us/op87.1087598652259
us/op0.93
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameNestedParen
12.890416319395289
us/op13.380244863816657
us/op0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNamePivot
51.28560340258783
us/op50.872417648613975
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuery15OrsAndLikes
151.92132972545545
us/op154.26574744145793
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuery30Plus
85.21215652943216
us/op84.57190238642357
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryFunc
37.47981483386944
us/op38.80407779680203
us/op0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryFuncInProjection
42.086884807729426
us/op42.91067520074334
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryList
57.992449708039956
us/op57.39026388463272
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryNestedSelect
545.1229281472249
us/op559.9227547700468
us/op0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuerySimple
11.559920993566694
us/op12.03846071587203
us/op0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralJoins
16.113678985437506
us/op16.344456297487636
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralProjections
54.609786980515494
us/op54.315998735047934
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralSelect
154.29563893944902
us/op158.4453053980024
us/op0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSimpleInsert
21.53272501526702
us/op22.307289961982036
us/op0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeJoins
15.780859325862192
us/op16.700255446490026
us/op0.94
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeProjections
21.663007190271685
us/op22.112735799642305
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeSelect
38.846343378849326
us/op41.23647592192514
us/op0.94
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameTimeZone
18.65551374601672
us/op19.003694246786388
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameVeryLongQuery
188.60723144251492
us/op188.0958230823288
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameVeryLongQuery01
763.6096818106572
us/op759.4813157698245
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameCaseWhenThen
23.468662378439767
us/op24.172906038264784
us/op0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameComplexQuery
243.32623904981682
us/op246.96146295309353
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameComplexQuery01
119.3410457301733
us/op119.83971393345205
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameExceptUnionIntersectSixty
260.1489631719374
us/op259.90781909145824
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameExec20Expressions
61.33308507038184
us/op66.74664020889948
us/op0.92
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameFromLet
38.0031752191436
us/op40.9966368617235
us/op0.93
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGraphPattern
46.22511940034
us/op46.24466843325174
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGraphPreFilters
81.77063861342961
us/op79.97719018645364
us/op1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGroupLimit
27.696842421491265
us/op28.257376667660743
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameLongFromSourceOrderBy
115.66052811452309
us/op120.90423393352444
us/op0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameManyJoins
42.0414857565605
us/op42.1931086019478
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameNestedAggregates
100.56505884227062
us/op99.12105515611562
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameNestedParen
67.49522485875046
us/op67.40489875472616
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNamePivot
61.93008749516216
us/op62.436040231955225
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuery15OrsAndLikes
187.9960194738942
us/op190.81920832779159
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuery30Plus
57.419170343462326
us/op59.76711227598928
us/op0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryFunc
110.66765445651652
us/op113.68536907815735
us/op0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryFuncInProjection
78.42801678384481
us/op79.79315421063336
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryList
68.63749705992802
us/op69.57979281625087
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryNestedSelect
134.07861471738326
us/op139.15465714678416
us/op0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuerySimple
11.67086225471088
us/op12.361599374398093
us/op0.94
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralJoins
75.02002252159545
us/op77.84372258760735
us/op0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralProjections
60.56699299285761
us/op64.40136332723246
us/op0.94
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralSelect
111.66415327505983
us/op116.52991282008023
us/op0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSimpleInsert
21.454138464826244
us/op21.73880612296347
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeJoins
20.4080604604726
us/op19.85275346722968
us/op1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeProjections
18.709800103571986
us/op18.197263122678148
us/op1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeSelect
35.19635578639587
us/op34.95578607715219
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameTimeZone
7.074989329820393
us/op7.677414284151856
us/op0.92
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameVeryLongQuery
456.02903302369316
us/op458.71082098608923
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameVeryLongQuery01
1148.5689128441586
us/op1134.0569530722878
us/op1.01
This comment was automatically generated by workflow using github-action-benchmark.