Skip to content

Commit 25a3df5

Browse files
committed
GH-4954 LMDB: Save heap allocation of long array.
1 parent b784f07 commit 25a3df5

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

core/sail/lmdb/src/main/java/org/eclipse/rdf4j/sail/lmdb/TripleStore.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import static org.eclipse.rdf4j.sail.lmdb.LmdbUtil.transaction;
1717
import static org.eclipse.rdf4j.sail.lmdb.Varint.readListUnsigned;
1818
import static org.eclipse.rdf4j.sail.lmdb.Varint.writeListUnsigned;
19+
import static org.eclipse.rdf4j.sail.lmdb.Varint.writeUnsigned;
1920
import static org.lwjgl.system.MemoryStack.stackPush;
2021
import static org.lwjgl.system.MemoryUtil.NULL;
2122
import static org.lwjgl.util.lmdb.LMDB.MDB_CREATE;
@@ -1293,24 +1294,22 @@ GroupMatcher createMatcher(long subj, long pred, long obj, long context) {
12931294
}
12941295

12951296
void toKey(ByteBuffer bb, long subj, long pred, long obj, long context) {
1296-
long[] values = new long[4];
12971297
for (int i = 0; i < fieldSeq.length; i++) {
12981298
switch (fieldSeq[i]) {
12991299
case 's':
1300-
values[i] = subj;
1300+
writeUnsigned(bb, subj);
13011301
break;
13021302
case 'p':
1303-
values[i] = pred;
1303+
writeUnsigned(bb, pred);
13041304
break;
13051305
case 'o':
1306-
values[i] = obj;
1306+
writeUnsigned(bb, obj);
13071307
break;
13081308
case 'c':
1309-
values[i] = context;
1309+
writeUnsigned(bb, context);
13101310
break;
13111311
}
13121312
}
1313-
writeListUnsigned(bb, values);
13141313
}
13151314

13161315
void keyToQuad(ByteBuffer key, long[] quad) {

0 commit comments

Comments
 (0)