Skip to content

Commit

Permalink
Adds more efficient internal pretty-printing (#1403)
Browse files Browse the repository at this point in the history
  • Loading branch information
RCHowell authored Mar 29, 2024
1 parent 6da7496 commit 327ea86
Show file tree
Hide file tree
Showing 8 changed files with 983 additions and 2 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,10 @@ Thank you to all who have contributed!
- Change `StaticType.AnyOfType`'s `.toString` to not perform `.flatten()`

### Deprecated
- The current SqlBlock, SqlDialect, and SqlLayout are marked as deprecated and will be slightly changed in the next release.

### Fixed
- Updates the default `.sql()` method to use a more efficient (internal) printer implementation.

### Removed

Expand All @@ -44,6 +46,7 @@ Thank you to all who have contributed!
### Contributors
Thank you to all who have contributed!
- @<your-username>
- @rchowell

## [0.14.4]

Expand Down
30 changes: 28 additions & 2 deletions partiql-ast/src/main/kotlin/org/partiql/ast/sql/Sql.kt
Original file line number Diff line number Diff line change
@@ -1,15 +1,41 @@
package org.partiql.ast.sql

import org.partiql.ast.AstNode
import org.partiql.ast.sql.internal.InternalSqlDialect
import org.partiql.ast.sql.internal.InternalSqlLayout

/**
* No argument uses optimized internal. Leaving older ones for backwards-compatibility.
*/
public fun AstNode.sql(): String {
val head = InternalSqlDialect.PARTIQL.apply(this)
return InternalSqlLayout.format(head)
}

/**
* Pretty-print this [AstNode] as SQL text with the given [SqlLayout]
*/
@JvmOverloads
@Deprecated("To be removed in the next major version")
public fun AstNode.sql(
layout: SqlLayout = SqlLayout.DEFAULT,
): String = SqlDialect.PARTIQL.apply(this).sql(layout)

/**
* Pretty-print this [AstNode] as SQL text with the given [SqlDialect]
*/
@Deprecated("To be removed in the next major version")
public fun AstNode.sql(
dialect: SqlDialect = SqlDialect.PARTIQL,
): String = accept(dialect, SqlBlock.Nil).sql(layout)
): String = dialect.apply(this).sql(SqlLayout.DEFAULT)

/**
* Pretty-print this [AstNode] as SQL text with the given [SqlLayout] and [SqlDialect]
*/
@Deprecated("To be removed in the next major version")
public fun AstNode.sql(
layout: SqlLayout,
dialect: SqlDialect,
): String = dialect.apply(this).sql(layout)

// a <> b <-> a concat b

Expand Down
4 changes: 4 additions & 0 deletions partiql-ast/src/main/kotlin/org/partiql/ast/sql/SqlBlock.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ package org.partiql.ast.sql
* @param layout SQL formatting ruleset
* @return SQL text
*/
@Deprecated("To be removed in the next major version")
public fun SqlBlock.sql(layout: SqlLayout = SqlLayout.DEFAULT): String = layout.format(this)

/**
* Representation of some textual corpus; akin to Wadler's "A prettier printer" Document type.
*/
@Deprecated("This will be changed in the next major version")
sealed interface SqlBlock {

public override fun toString(): String
Expand Down Expand Up @@ -54,6 +56,7 @@ sealed interface SqlBlock {
}
}

@Deprecated("This will be changed in the next major version")
public interface BlockVisitor<R, C> {

public fun visit(block: SqlBlock, ctx: C): R
Expand All @@ -69,6 +72,7 @@ public interface BlockVisitor<R, C> {
public fun visitLink(block: SqlBlock.Link, ctx: C): R
}

@Deprecated("This will be changed in the next major version")
public abstract class BlockBaseVisitor<R, C> : BlockVisitor<R, C> {

public abstract fun defaultReturn(block: SqlBlock, ctx: C): R
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import java.io.PrintStream
/**
* SqlDialect represents the base behavior for transforming an [AstNode] tree into a [SqlBlock] tree.
*/
@Deprecated("This will be changed in the next major version")
@Suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE")
public abstract class SqlDialect : AstBaseVisitor<SqlBlock, SqlBlock>() {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package org.partiql.ast.sql
/**
* [SqlLayout] determines how an [SqlBlock] tree is transformed in SQL text.
*/
@Deprecated("This will be changed in the next major version")
public abstract class SqlLayout {

abstract val indent: Indent
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/*
* Copyright Amazon.com, Inc. or its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at:
*
* http://aws.amazon.com/apache2.0/
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*/

package org.partiql.ast.sql.internal

/**
* Representation of some textual elements as a token (singly-linked) list.
*/
internal sealed class InternalSqlBlock {

/**
* Next token (if any) in the list.
*/
internal var next: InternalSqlBlock? = null

/**
* A newline / link break token.
*/
internal class NL : InternalSqlBlock()

/**
* A raw text token. Cannot be broken.
*/
internal class Text(val text: String) : InternalSqlBlock()

/**
* A nest token representing a (possible indented) token sublist.
*
* @property prefix A prefix character such as '{', '(', or '['.
* @property postfix A postfix character such as '}', ')', or ']].
* @property child
*/
internal class Nest(
val prefix: String?,
val postfix: String?,
val child: InternalSqlBlock,
) : InternalSqlBlock()

companion object {

/**
* Helper function to create root node (empty).
*/
@JvmStatic
internal fun root(): InternalSqlBlock = Text("")
}
}
Loading

1 comment on commit 327ea86

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JMH Benchmark

Benchmark suite Current: 327ea86 Previous: 6da7496 Ratio
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncGroupingWithInterruptible 247.96423857923327 us/op 284.04767136348306 us/op 0.87
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncGroupingWithoutInterruptible 278.2135321819727 us/op 252.20474329036497 us/op 1.10
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncWithInterruptible 237.5441207306968 us/op 257.0137745274561 us/op 0.92
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncWithoutInterruptible 252.8090036762973 us/op 243.17053246106144 us/op 1.04
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinWithInterruptible 181.31223315059611 us/op 177.31790967497258 us/op 1.02
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinWithoutInterruptible 181.77108623509486 us/op 183.41180693717703 us/op 0.99
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggGroupWithInterruptible 12883442.322700003 us/op 13517319.44295 us/op 0.95
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggGroupWithoutInterruptible 13685718.016099999 us/op 13059112.032100003 us/op 1.05
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggWithInterruptible 4996828.289099999 us/op 5001887.476850001 us/op 1.00
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggWithoutInterruptible 5202978.354499999 us/op 5080374.51375 us/op 1.02
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinWithInterruptible 38.5440846480045 us/op 37.780865810939666 us/op 1.02
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinWithoutInterruptible 38.35282561128964 us/op 38.55748542406384 us/op 0.99
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggGroupWithInterruptible 13353727.7706 us/op 13379331.297149999 us/op 1.00
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggGroupWithoutInterruptible 13408623.64055 us/op 12893826.483849999 us/op 1.04
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggWithInterruptible 4967332.19625 us/op 5240715.8983000005 us/op 0.95
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggWithoutInterruptible 5058864.7035 us/op 4860048.61845 us/op 1.04
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinWithInterruptible 99207.27529590912 us/op 94163.9304621212 us/op 1.05
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinWithoutInterruptible 93020.5704871212 us/op 95524.56855909091 us/op 0.97
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler15 80.5833290285644 us/op 83.1833640276797 us/op 0.97
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler30 154.67662845790994 us/op 152.78926810580174 us/op 1.01
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator15 372469.3106666667 us/op 378037.7100333333 us/op 0.99
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30 735902.3465 us/op 729288.9187249999 us/op 1.01
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30WithData10 7293211.833500001 us/op 7298464.198900001 us/op 1.00
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser15 133.09952352737395 us/op 134.6554548268395 us/op 0.99
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser30 264.616985348336 us/op 256.155350255975 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameCaseWhenThen 34.041727209316704 us/op 32.936268523565545 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery 43.04842338537358 us/op 42.458900330779 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery01 241.92835164239904 us/op 240.5862406750004 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery02 411.4359632951206 us/op 414.0612116196031 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExceptUnionIntersectSixty 159.5871808006655 us/op 160.3901813957171 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExec20Expressions 46.18799498664732 us/op 46.46974495115005 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameFromLet 33.20686574364027 us/op 34.09836469775153 us/op 0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPattern 31.752456343040336 us/op 32.1797392118309 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPreFilters 57.638291075712026 us/op 57.56716778231036 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGroupLimit 38.37572724246111 us/op 37.931876609956106 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameLongFromSourceOrderBy 48.310578250215116 us/op 48.051607774051334 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameManyJoins 50.859207444242784 us/op 49.37015184997315 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedAggregates 84.54147548547607 us/op 87.75396379434092 us/op 0.96
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedParen 13.685718561303371 us/op 13.493673323882257 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNamePivot 50.956923295880564 us/op 51.28573848592845 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery15OrsAndLikes 165.2702804155964 us/op 161.46006183281924 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery30Plus 84.31444123643287 us/op 83.572190000591 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFunc 37.958756026848235 us/op 38.630093173417904 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFuncInProjection 42.46406198164904 us/op 44.51677136460694 us/op 0.95
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryList 58.55733144875755 us/op 59.19824272229869 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryNestedSelect 590.1193372177484 us/op 613.6285426786648 us/op 0.96
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuerySimple 12.370401623492182 us/op 12.21887671844046 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralJoins 16.98897155657103 us/op 17.024794643592607 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralProjections 56.25258019278971 us/op 56.920467218970884 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralSelect 158.54274604661282 us/op 158.92126434026616 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSimpleInsert 23.46724918601523 us/op 22.972082456732203 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeJoins 16.831412270080573 us/op 16.80488451783652 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeProjections 22.960220084711448 us/op 22.88401852342148 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeSelect 40.878870017109094 us/op 40.76035406813781 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameTimeZone 19.25342305691517 us/op 19.15036535178532 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery 190.89578022824915 us/op 195.51691467537722 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery01 759.3243728041106 us/op 759.3934552929179 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameCaseWhenThen 18.427738694173797 us/op 18.333927916887433 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery 203.1888687302332 us/op 182.10412365990624 us/op 1.12
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery01 87.0708059819008 us/op 85.64904718603637 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExceptUnionIntersectSixty 160.98027299760525 us/op 167.28473290581582 us/op 0.96
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExec20Expressions 45.5536367730311 us/op 46.44262946373838 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameFromLet 28.300591834308204 us/op 27.939798118605573 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPattern 30.48262753970319 us/op 29.617172439026962 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPreFilters 53.35404252812648 us/op 53.988618690831586 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGroupLimit 25.406869313760915 us/op 25.551938779997897 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameLongFromSourceOrderBy 98.29209346689666 us/op 98.65105334477492 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameManyJoins 34.21752087134277 us/op 34.683437972127905 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedAggregates 76.16753126584423 us/op 72.68617360525043 us/op 1.05
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedParen 61.648025327845176 us/op 58.74538993579306 us/op 1.05
org.partiql.jmh.benchmarks.ParserBenchmark.parseNamePivot 49.503200552244046 us/op 48.83788941082816 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery15OrsAndLikes 132.41239977518583 us/op 130.293179041798 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery30Plus 45.901571914171576 us/op 46.35065787451973 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFunc 98.99034489857726 us/op 100.00729598664216 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFuncInProjection 63.69260976858516 us/op 63.885200769660436 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryList 57.4150947855329 us/op 56.13466312343635 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryNestedSelect 105.24285064987357 us/op 104.80764569922083 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuerySimple 8.691231454799599 us/op 8.646122844585731 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralJoins 55.44935916122763 us/op 55.324909158961006 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralProjections 41.55210120178634 us/op 41.50763710010317 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralSelect 73.3902332055126 us/op 76.46908936093776 us/op 0.96
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSimpleInsert 14.979831773561267 us/op 15.259708662994495 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeJoins 15.380408869193724 us/op 14.905450614136537 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeProjections 13.140989184210586 us/op 13.250822926068324 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeSelect 23.89474920382796 us/op 25.256118821425943 us/op 0.95
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameTimeZone 6.055455659481974 us/op 6.0337878862190335 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery 309.55207613802634 us/op 307.0339101288123 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery01 830.2082319501875 us/op 839.7997439476815 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLCompiler 7.0438087384387895 us/op 6.849264134507251 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLEvaluator 2.1371179688118387 us/op 1.968888141929946 us/op 1.09
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLParser 7.887797892632831 us/op 7.905304028016756 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery1 7.053131410382453 us/op 7.084845301615327 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery2 13.984193465586653 us/op 13.999069717774754 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery3 15.395711597136941 us/op 15.508688752793296 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery4 22.170113294276373 us/op 22.2610872085259 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery5 23.11041822149972 us/op 24.473797047022792 us/op 0.94
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery1 149853.82828571426 us/op 148489.81586607144 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery10 15.28082750892236 us/op 15.305556039781427 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery11 2.4511523838503924 us/op 2.4227691254344954 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery2 252063.54644500004 us/op 246307.59633749997 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery3 251447.378465 us/op 255789.07098500003 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery4 296129.57035000005 us/op 304310.7205 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery5 307286.9523 us/op 300518.99895 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery6 369495.0050499999 us/op 378507.40476666664 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery7 29630.798711917218 us/op 36932.63354847884 us/op 0.80
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery8 2880.586129281373 us/op 2775.8677253042274 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery9 258.0824026286822 us/op 258.73001123748077 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery1 7.077666309284121 us/op 6.849366506732165 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery2 13.05938089650605 us/op 14.31901212351325 us/op 0.91
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery3 15.348903866204623 us/op 14.671696189752609 us/op 1.05
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery4 20.961655272374713 us/op 21.23870353471721 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery5 22.202768483962497 us/op 22.62124259822663 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery1 137937.1663455357 us/op 134503.04430625003 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery10 9.354647872935226 us/op 9.46218352066037 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery11 1.3549298111289707 us/op 1.3687047591446089 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery2 199724.27577666668 us/op 203947.42126166663 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery3 199163.6285216667 us/op 203712.40087 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery4 256809.942585 us/op 261588.21320000003 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery5 243251.40943499998 us/op 232266.61455000006 us/op 1.05
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery6 299196.4389875 us/op 295693.7783625001 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery7 23189.862469542248 us/op 28874.148624425892 us/op 0.80
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery8 2182.355295566354 us/op 2164.210215582025 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery9 199.83787460180196 us/op 200.9943956120564 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameCaseWhenThen 32.97532999091602 us/op 32.05388522094674 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery 38.80373242279969 us/op 41.89725561569774 us/op 0.93
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery01 235.33120721996724 us/op 244.4118555434596 us/op 0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery02 402.3692479352313 us/op 407.6087958580568 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameExceptUnionIntersectSixty 155.45279194546725 us/op 157.11401833603458 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameExec20Expressions 44.34780517968987 us/op 44.77930586998035 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameFromLet 32.01860436961201 us/op 32.85336990239707 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGraphPattern 31.74208232520695 us/op 31.74947008260748 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGraphPreFilters 56.562126084556056 us/op 57.949139178362444 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGroupLimit 39.370045928725496 us/op 40.11204192865523 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameLongFromSourceOrderBy 47.42447660205772 us/op 47.51767511471425 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameManyJoins 47.822902824447866 us/op 49.36203417186393 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameNestedAggregates 86.24685891791465 us/op 81.82727377940047 us/op 1.05
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameNestedParen 13.419511291947988 us/op 13.043172448777279 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNamePivot 51.46380473605507 us/op 50.51486854721751 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuery15OrsAndLikes 154.62408112546808 us/op 159.78294246749903 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuery30Plus 85.88388770490258 us/op 83.96784168535095 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryFunc 37.87047238015148 us/op 38.51495977325667 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryFuncInProjection 42.67781628472616 us/op 42.94089431521583 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryList 57.981052822183116 us/op 57.59097707183131 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryNestedSelect 588.4601511189958 us/op 587.9382873330638 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuerySimple 12.357676576085616 us/op 11.760888457964958 us/op 1.05
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralJoins 16.272840321896112 us/op 15.95807695444534 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralProjections 52.74046912698867 us/op 52.79469510128124 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralSelect 154.05746040849837 us/op 153.9709420018708 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSimpleInsert 21.791808198359647 us/op 22.195931632137974 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeJoins 16.064740597987395 us/op 15.950734723845766 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeProjections 21.911830518356815 us/op 22.14922497312045 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeSelect 40.22754243120867 us/op 40.24930074127439 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameTimeZone 18.72275505234686 us/op 18.314760173927233 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameVeryLongQuery 192.72629506846584 us/op 197.36289129426672 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameVeryLongQuery01 753.3836829322263 us/op 747.681341839588 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameCaseWhenThen 24.037664004387818 us/op 24.197660267304613 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameComplexQuery 244.50900623682833 us/op 266.3952342619318 us/op 0.92
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameComplexQuery01 122.82848133721964 us/op 122.33276426349593 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameExceptUnionIntersectSixty 267.69088626787476 us/op 259.3556437096992 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameExec20Expressions 63.67008779779045 us/op 62.99513350287467 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameFromLet 39.12101538377796 us/op 40.14023193206351 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGraphPattern 45.57641098938913 us/op 45.18998882679686 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGraphPreFilters 79.42350671617776 us/op 82.98400460114631 us/op 0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGroupLimit 28.090731868302907 us/op 29.39410879657823 us/op 0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameLongFromSourceOrderBy 119.41630101635553 us/op 119.20017672364065 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameManyJoins 41.75674541390286 us/op 44.846609843698914 us/op 0.93
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameNestedAggregates 100.24074924478217 us/op 97.63268191928933 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameNestedParen 66.33110031340864 us/op 65.0616911806623 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNamePivot 62.7172317812212 us/op 63.90066053495339 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuery15OrsAndLikes 194.08971286753535 us/op 197.86067268967514 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuery30Plus 61.097460216890376 us/op 58.48097525873726 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryFunc 116.0918697377369 us/op 116.30383722250299 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryFuncInProjection 78.88118653302726 us/op 81.92043078580714 us/op 0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryList 69.02619785601402 us/op 68.97564148424793 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryNestedSelect 140.03474034225582 us/op 137.75875099096876 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuerySimple 12.504128255965865 us/op 11.673829403092611 us/op 1.07
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralJoins 78.66314148712407 us/op 81.93881306970982 us/op 0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralProjections 63.037168985099626 us/op 61.94669938098574 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralSelect 114.07458539615634 us/op 114.9030506572504 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSimpleInsert 22.036871713806082 us/op 21.222319824271416 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeJoins 21.240482098065776 us/op 21.558559234206648 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeProjections 19.0073417351114 us/op 19.445786775433447 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeSelect 35.31805348087637 us/op 34.79509269576283 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameTimeZone 7.783696663203239 us/op 7.765002132356065 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameVeryLongQuery 467.09345081593926 us/op 458.14775521404846 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameVeryLongQuery01 1171.4715315679246 us/op 1199.7223683469422 us/op 0.98

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.