Skip to content

Commit be5506c

Browse files
cpwrightclaude
andauthored
refactor: DH-22434: Migrate engine/tuple from Trove to fastutil (#7962)
Replace gnu.trove.map.TIntObjectMap (and TIntObjectHashMap) with it.unimi.dsi.fastutil.ints.Int2ObjectMap (and Int2ObjectOpenHashMap) across the StreamingExternalizable interface, SerializationUtils, ArrayTuple, the TupleCodeGenerator template, and all 576 generated tuple classes (regenerated via :replication-static:replicateTuples). Swap engine/tuple's api libs.trove for api libs.dsi.fastutil so the module no longer depends on Trove. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 835a3ba commit be5506c

582 files changed

Lines changed: 1754 additions & 1754 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

engine/tuple/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ plugins {
66
description 'Engine Tuples: Value sequences for use in aggregations, joins, and indexing'
77

88
dependencies {
9-
api libs.trove
9+
api libs.dsi.fastutil
1010
api project(':Util')
1111
api project(':engine-time')
1212
implementation project(':DataStructures')

engine/tuple/src/main/java/io/deephaven/tuple/ArrayTuple.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
import io.deephaven.tuple.serialization.SerializationUtils;
77
import io.deephaven.tuple.serialization.StreamingExternalizable;
8-
import gnu.trove.map.TIntObjectMap;
98
import io.deephaven.util.compare.ObjectComparisons;
109
import io.deephaven.util.type.ArrayTypeUtils;
10+
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
1111
import org.jetbrains.annotations.NotNull;
1212

1313
import java.io.*;
@@ -132,7 +132,7 @@ public void readExternal(@NotNull final ObjectInput in) throws IOException, Clas
132132

133133
@Override
134134
public void writeExternalStreaming(@NotNull final ObjectOutput out,
135-
@NotNull final TIntObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
135+
@NotNull final Int2ObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
136136
final int length = elements.length;
137137
out.writeInt(length);
138138
for (int ei = 0; ei < length; ++ei) {
@@ -142,7 +142,7 @@ public void writeExternalStreaming(@NotNull final ObjectOutput out,
142142

143143
@Override
144144
public void readExternalStreaming(@NotNull final ObjectInput in,
145-
@NotNull final TIntObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
145+
@NotNull final Int2ObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
146146
final int inLength = in.readInt();
147147
final Object[] inElements = new Object[inLength];
148148
for (int ei = 0; ei < inLength; ++ei) {

engine/tuple/src/main/java/io/deephaven/tuple/generated/ByteByteByteTuple.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package io.deephaven.tuple.generated;
22

3-
import gnu.trove.map.TIntObjectMap;
43
import io.deephaven.tuple.CanonicalizableTuple;
54
import io.deephaven.tuple.serialization.SerializationUtils;
65
import io.deephaven.tuple.serialization.StreamingExternalizable;
76
import io.deephaven.util.compare.ByteComparisons;
7+
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
88
import org.jetbrains.annotations.NotNull;
99

1010
import java.io.Externalizable;
@@ -120,14 +120,14 @@ public void readExternal(@NotNull final ObjectInput in) throws IOException, Clas
120120
}
121121

122122
@Override
123-
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final TIntObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
123+
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final Int2ObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
124124
out.writeByte(element1);
125125
out.writeByte(element2);
126126
out.writeByte(element3);
127127
}
128128

129129
@Override
130-
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final TIntObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
130+
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final Int2ObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
131131
initialize(
132132
in.readByte(),
133133
in.readByte(),

engine/tuple/src/main/java/io/deephaven/tuple/generated/ByteByteCharTuple.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package io.deephaven.tuple.generated;
22

3-
import gnu.trove.map.TIntObjectMap;
43
import io.deephaven.tuple.CanonicalizableTuple;
54
import io.deephaven.tuple.serialization.SerializationUtils;
65
import io.deephaven.tuple.serialization.StreamingExternalizable;
76
import io.deephaven.util.compare.ByteComparisons;
87
import io.deephaven.util.compare.CharComparisons;
8+
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
99
import org.jetbrains.annotations.NotNull;
1010

1111
import java.io.Externalizable;
@@ -121,14 +121,14 @@ public void readExternal(@NotNull final ObjectInput in) throws IOException, Clas
121121
}
122122

123123
@Override
124-
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final TIntObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
124+
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final Int2ObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
125125
out.writeByte(element1);
126126
out.writeByte(element2);
127127
out.writeChar(element3);
128128
}
129129

130130
@Override
131-
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final TIntObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
131+
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final Int2ObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
132132
initialize(
133133
in.readByte(),
134134
in.readByte(),

engine/tuple/src/main/java/io/deephaven/tuple/generated/ByteByteDoubleTuple.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package io.deephaven.tuple.generated;
22

3-
import gnu.trove.map.TIntObjectMap;
43
import io.deephaven.tuple.CanonicalizableTuple;
54
import io.deephaven.tuple.serialization.SerializationUtils;
65
import io.deephaven.tuple.serialization.StreamingExternalizable;
76
import io.deephaven.util.compare.ByteComparisons;
87
import io.deephaven.util.compare.DoubleComparisons;
8+
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
99
import org.jetbrains.annotations.NotNull;
1010

1111
import java.io.Externalizable;
@@ -121,14 +121,14 @@ public void readExternal(@NotNull final ObjectInput in) throws IOException, Clas
121121
}
122122

123123
@Override
124-
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final TIntObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
124+
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final Int2ObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
125125
out.writeByte(element1);
126126
out.writeByte(element2);
127127
out.writeDouble(element3);
128128
}
129129

130130
@Override
131-
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final TIntObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
131+
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final Int2ObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
132132
initialize(
133133
in.readByte(),
134134
in.readByte(),

engine/tuple/src/main/java/io/deephaven/tuple/generated/ByteByteFloatTuple.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package io.deephaven.tuple.generated;
22

3-
import gnu.trove.map.TIntObjectMap;
43
import io.deephaven.tuple.CanonicalizableTuple;
54
import io.deephaven.tuple.serialization.SerializationUtils;
65
import io.deephaven.tuple.serialization.StreamingExternalizable;
76
import io.deephaven.util.compare.ByteComparisons;
87
import io.deephaven.util.compare.FloatComparisons;
8+
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
99
import org.jetbrains.annotations.NotNull;
1010

1111
import java.io.Externalizable;
@@ -121,14 +121,14 @@ public void readExternal(@NotNull final ObjectInput in) throws IOException, Clas
121121
}
122122

123123
@Override
124-
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final TIntObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
124+
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final Int2ObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
125125
out.writeByte(element1);
126126
out.writeByte(element2);
127127
out.writeFloat(element3);
128128
}
129129

130130
@Override
131-
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final TIntObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
131+
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final Int2ObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
132132
initialize(
133133
in.readByte(),
134134
in.readByte(),

engine/tuple/src/main/java/io/deephaven/tuple/generated/ByteByteIntTuple.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package io.deephaven.tuple.generated;
22

3-
import gnu.trove.map.TIntObjectMap;
43
import io.deephaven.tuple.CanonicalizableTuple;
54
import io.deephaven.tuple.serialization.SerializationUtils;
65
import io.deephaven.tuple.serialization.StreamingExternalizable;
76
import io.deephaven.util.compare.ByteComparisons;
87
import io.deephaven.util.compare.IntComparisons;
8+
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
99
import org.jetbrains.annotations.NotNull;
1010

1111
import java.io.Externalizable;
@@ -121,14 +121,14 @@ public void readExternal(@NotNull final ObjectInput in) throws IOException, Clas
121121
}
122122

123123
@Override
124-
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final TIntObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
124+
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final Int2ObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
125125
out.writeByte(element1);
126126
out.writeByte(element2);
127127
out.writeInt(element3);
128128
}
129129

130130
@Override
131-
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final TIntObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
131+
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final Int2ObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
132132
initialize(
133133
in.readByte(),
134134
in.readByte(),

engine/tuple/src/main/java/io/deephaven/tuple/generated/ByteByteLongTuple.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package io.deephaven.tuple.generated;
22

3-
import gnu.trove.map.TIntObjectMap;
43
import io.deephaven.tuple.CanonicalizableTuple;
54
import io.deephaven.tuple.serialization.SerializationUtils;
65
import io.deephaven.tuple.serialization.StreamingExternalizable;
76
import io.deephaven.util.compare.ByteComparisons;
87
import io.deephaven.util.compare.LongComparisons;
8+
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
99
import org.jetbrains.annotations.NotNull;
1010

1111
import java.io.Externalizable;
@@ -121,14 +121,14 @@ public void readExternal(@NotNull final ObjectInput in) throws IOException, Clas
121121
}
122122

123123
@Override
124-
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final TIntObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
124+
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final Int2ObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
125125
out.writeByte(element1);
126126
out.writeByte(element2);
127127
out.writeLong(element3);
128128
}
129129

130130
@Override
131-
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final TIntObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
131+
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final Int2ObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
132132
initialize(
133133
in.readByte(),
134134
in.readByte(),

engine/tuple/src/main/java/io/deephaven/tuple/generated/ByteByteObjectTuple.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package io.deephaven.tuple.generated;
22

3-
import gnu.trove.map.TIntObjectMap;
43
import io.deephaven.tuple.CanonicalizableTuple;
54
import io.deephaven.tuple.serialization.SerializationUtils;
65
import io.deephaven.tuple.serialization.StreamingExternalizable;
76
import io.deephaven.util.compare.ByteComparisons;
87
import io.deephaven.util.compare.ObjectComparisons;
8+
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
99
import org.jetbrains.annotations.NotNull;
1010

1111
import java.io.Externalizable;
@@ -122,14 +122,14 @@ public void readExternal(@NotNull final ObjectInput in) throws IOException, Clas
122122
}
123123

124124
@Override
125-
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final TIntObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
125+
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final Int2ObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
126126
out.writeByte(element1);
127127
out.writeByte(element2);
128128
StreamingExternalizable.writeObjectElement(out, cachedWriters, 2, element3);
129129
}
130130

131131
@Override
132-
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final TIntObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
132+
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final Int2ObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
133133
initialize(
134134
in.readByte(),
135135
in.readByte(),

engine/tuple/src/main/java/io/deephaven/tuple/generated/ByteByteShortTuple.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package io.deephaven.tuple.generated;
22

3-
import gnu.trove.map.TIntObjectMap;
43
import io.deephaven.tuple.CanonicalizableTuple;
54
import io.deephaven.tuple.serialization.SerializationUtils;
65
import io.deephaven.tuple.serialization.StreamingExternalizable;
76
import io.deephaven.util.compare.ByteComparisons;
87
import io.deephaven.util.compare.ShortComparisons;
8+
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
99
import org.jetbrains.annotations.NotNull;
1010

1111
import java.io.Externalizable;
@@ -121,14 +121,14 @@ public void readExternal(@NotNull final ObjectInput in) throws IOException, Clas
121121
}
122122

123123
@Override
124-
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final TIntObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
124+
public void writeExternalStreaming(@NotNull final ObjectOutput out, @NotNull final Int2ObjectMap<SerializationUtils.Writer> cachedWriters) throws IOException {
125125
out.writeByte(element1);
126126
out.writeByte(element2);
127127
out.writeShort(element3);
128128
}
129129

130130
@Override
131-
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final TIntObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
131+
public void readExternalStreaming(@NotNull final ObjectInput in, @NotNull final Int2ObjectMap<SerializationUtils.Reader> cachedReaders) throws Exception {
132132
initialize(
133133
in.readByte(),
134134
in.readByte(),

0 commit comments

Comments
 (0)