Skip to content

Instantly share code, notes, and snippets.

@pettyjamesm
pettyjamesm / scalar_graviton4_throughput.json
Created December 11, 2025 22:48
Vectorize Graphiton 4 SerDe
[
{
"jmhVersion" : "1.37",
"benchmark" : "io.trino.execution.buffer.BenchmarkBlockSerde.deserializeByte",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/ec2-user/.sdkman/candidates/java/25.0.1-tem/bin/java",
"jvmArgs" : [
"-Xms8g",
@pettyjamesm
pettyjamesm / deserialize_all_scalar_c7i_throughput.json
Created December 11, 2025 22:38
Sapphire Rapids Vectorized Deserialize
[
{
"jmhVersion" : "1.37",
"benchmark" : "io.trino.execution.buffer.BenchmarkBlockSerde.deserializeByte",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/ec2-user/.sdkman/candidates/java/25.0.1-tem/bin/java",
"jvmArgs" : [
"-Xms8g",
@pettyjamesm
pettyjamesm / deserialize_all_c5_vectorized_v2.json
Last active December 11, 2025 22:33
Vectorize Deserialize Expand Nulls Intel Skylake
[
{
"jmhVersion" : "1.37",
"benchmark" : "io.trino.execution.buffer.BenchmarkBlockSerde.deserializeByte",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/local/home/pettja/.sdkman/candidates/java/25.0.1-tem/bin/java",
"jvmArgs" : [
"-Xms8g",
@pettyjamesm
pettyjamesm / baseline.json
Last active November 20, 2025 21:49
Improve VariableWidthBlockEncoding
[
{
"jmhVersion" : "1.37",
"benchmark" : "io.trino.execution.buffer.BenchmarkBlockSerde.deserializeSliceDirect",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "/Users/pettja/.sdkman/candidates/java/25.0.1-tem/bin/java",
"jvmArgs" : [
"--add-modules=jdk.incubator.vector",
@pettyjamesm
pettyjamesm / baseline_blockbuilder.json
Created October 8, 2025 17:47
BlockBuilder#appendRange
[
{
"jmhVersion" : "1.37",
"benchmark" : "io.trino.block.BenchmarkBlockBuilder.benchmarkAppendRange",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "/Users/pettja/.sdkman/candidates/java/24.0.1-tem/bin/java",
"jvmArgs" : [
"-javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=61176",
@pettyjamesm
pettyjamesm / null_packing_baseline.json
Last active August 19, 2025 19:25
BlockSerde Nulls Improvement
[
{
"jmhVersion" : "1.37",
"benchmark" : "io.trino.execution.buffer.BenchmarkBlockSerde.serializeByte",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "/Users/pettja/.sdkman/candidates/java/24.0.1-tem/bin/java",
"jvmArgs" : [
"-javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=54610",
@pettyjamesm
pettyjamesm / New FlatGroupByHash Memory Usage.md
Created March 7, 2025 15:49
New FlatGroupByHash Memory Usage

Initial observations about FlatGroupByHash memory usage compared to the previous MultiChannelGroupByHash that was removed in Trino 427 are documented in this gist. Those observations prompted a deeper investigation and discussion how FlatHash and the flat layout scheme should work and was carried forward into a reimplementation in trino#25127.

Summary of Changes

  1. Reduce the flat memory layout width for variable width types from 16 to 4 bytes per entry
  2. Reduce the expansion factor of VariableWidthData from 2x to 1.5x
[
{
"jmhVersion" : "1.37",
"benchmark" : "io.trino.operator.BenchmarkGroupByHash.addPages",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "/Users/user/.sdkman/candidates/java/23.0.1-tem/bin/java",
"jvmArgs" : [
"-javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=52578:/Applications/IntelliJ IDEA.app/Contents/bin",
[
{
"jmhVersion" : "1.37",
"benchmark" : "io.trino.operator.BenchmarkTopNOperator.topN",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/Users/pettja/.sdkman/candidates/java/23.0.1-tem/bin/java",
"jvmArgs" : [
"-javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=54654:/Applications/IntelliJ IDEA.app/Contents/bin",
@pettyjamesm
pettyjamesm / baseline_hash_300.json
Last active October 7, 2023 12:58
Vectorized Hashing for FlatHash @ 300 Groups
[
{
"jmhVersion" : "1.37",
"benchmark" : "io.trino.operator.BenchmarkGroupByHash.addPages",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "/local/home/pettja/.sdkman/candidates/java/17.0.8-amzn/bin/java",
"jvmArgs" : [
"-Xms10g",