[
https://issues.apache.org/jira/browse/CALCITE-7393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18056431#comment-18056431
]
Wenzhuang Zhu commented on CALCITE-7393:
----------------------------------------
Run TypeDigestBenchmark with -Dcalcite.disable.generate.type.digest.string=false
{code:java}
<failure>
com.google.common.util.concurrent.ExecutionError: java.lang.OutOfMemoryError
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2072)
at com.google.common.cache.LocalCache.get(LocalCache.java:3986)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4007)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4946)
at
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4953)
at
org.apache.calcite.rel.type.RelDataTypeFactoryImpl.canonize(RelDataTypeFactoryImpl.java:469)
at
org.apache.calcite.rel.type.RelDataTypeFactoryImpl.createStructType(RelDataTypeFactoryImpl.java:166)
at
org.apache.calcite.rel.type.RelDataTypeFactoryImpl.createStructType(RelDataTypeFactoryImpl.java:157)
at
org.apache.calcite.rel.type.RelDataTypeFactory$Builder.build(RelDataTypeFactory.java:637)
at
org.apache.calcite.benchmarks.TypeDigestBenchmark.createType(TypeDigestBenchmark.java:112)
at
org.apache.calcite.benchmarks.TypeDigestBenchmark.setup(TypeDigestBenchmark.java:69)
at
org.apache.calcite.benchmarks.jmh_generated.TypeDigestBenchmark_testEquals_jmhTest._jmh_tryInit_f_typedigestbenchmark0_0(TypeDigestBenchmark_testEquals_jmhTest.java:338)
at
org.apache.calcite.benchmarks.jmh_generated.TypeDigestBenchmark_testEquals_jmhTest.testEquals_AverageTime(TypeDigestBenchmark_testEquals_jmhTest.java:138)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at
org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:475)
com.google.common.util.concurrent.ExecutionError: java.lang.OutOfMemoryError
{code}
Run TypeDigestBenchmark with -Dcalcite.disable.generate.type.digest.string=true
{code:java}
Benchmark (topN) Mode Cnt Score Error Units
TypeDigestBenchmark.testEquals 1 avgt 5 0.003 ± 0.001 us/op
TypeDigestBenchmark.testEquals 50 avgt 5 0.004 ± 0.001 us/op
TypeDigestBenchmark.testEquals 500 avgt 5 0.003 ± 0.001 us/op
TypeDigestBenchmark.testEquals 5000 avgt 5 0.003 ± 0.001 us/op
TypeDigestBenchmark.testEquals 50000 avgt 5 0.003 ± 0.001 us/op {code}
> Support RelDataTypeDigest
> -------------------------
>
> Key: CALCITE-7393
> URL: https://issues.apache.org/jira/browse/CALCITE-7393
> Project: Calcite
> Issue Type: Sub-task
> Reporter: Wenzhuang Zhu
> Priority: Major
> Labels: pull-request-available
>
> Use RelDataTypeDigest to reduce composite type's digest memory and digest
> relative operation's latency.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)