From 74627fdf902d06763f56db4a006789cc6814daf8 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sun, 24 Mar 2024 12:00:51 -0500 Subject: [PATCH] Use automatica Zstd buffer pooling --- .../core/util/objects/dataStreams/DhDataInputStream.java | 3 ++- .../core/util/objects/dataStreams/DhDataOutputStream.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/util/objects/dataStreams/DhDataInputStream.java b/core/src/main/java/com/seibel/distanthorizons/core/util/objects/dataStreams/DhDataInputStream.java index c78c3a486..1c0fb0114 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/util/objects/dataStreams/DhDataInputStream.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/util/objects/dataStreams/DhDataInputStream.java @@ -19,6 +19,7 @@ package com.seibel.distanthorizons.core.util.objects.dataStreams; +import com.github.luben.zstd.RecyclingBufferPool; import com.github.luben.zstd.ZstdInputStream; import com.seibel.distanthorizons.api.enums.config.EDhApiDataCompressionMode; import net.jpountz.lz4.LZ4FrameInputStream; @@ -51,7 +52,7 @@ public class DhDataInputStream extends DataInputStream case LZ4: return new LZ4FrameInputStream(stream); case Z_STD: - return new ZstdInputStream(stream); + return new ZstdInputStream(stream, RecyclingBufferPool.INSTANCE); case LZMA2: // Note: all LZMA/XZ compressors can be decompressed using this same InputStream return new XZInputStream(stream); diff --git a/core/src/main/java/com/seibel/distanthorizons/core/util/objects/dataStreams/DhDataOutputStream.java b/core/src/main/java/com/seibel/distanthorizons/core/util/objects/dataStreams/DhDataOutputStream.java index ac184e7fd..aab1dbd0a 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/util/objects/dataStreams/DhDataOutputStream.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/util/objects/dataStreams/DhDataOutputStream.java @@ -19,6 +19,7 @@ package com.seibel.distanthorizons.core.util.objects.dataStreams; +import com.github.luben.zstd.RecyclingBufferPool; import com.github.luben.zstd.ZstdOutputStream; import com.seibel.distanthorizons.api.enums.config.EDhApiDataCompressionMode; import net.jpountz.lz4.LZ4FrameOutputStream; @@ -47,7 +48,7 @@ public class DhDataOutputStream extends DataOutputStream case LZ4: return new LZ4FrameOutputStream(stream); case Z_STD: - return new ZstdOutputStream(stream); + return new ZstdOutputStream(stream, RecyclingBufferPool.INSTANCE); case LZMA2: // in James' testing preset 4 has the best balance between compression ratio and speed // 5 is slightly more compressed 0.128 vs 0.139, but is roughly 60% slower