in tsfile-viewer-core/src/main/java/org/apache/iotdb/tool/core/util/TsFileEncodeCompressAnalysedUtil.java [344:374]
private static EncodeCompressAnalysedModel generateAnalysedModel(
CompressionType compressionType,
String encodeName,
long originSize,
String typeName,
PublicBAOS baos)
throws IOException {
ICompressor compressor;
if (compressionType.equals(CompressionType.SNAPPY)) {
compressor = new ICompressor.SnappyCompressor();
} else if (compressionType.equals(CompressionType.GZIP)) {
compressor = new ICompressor.GZIPCompressor();
} else if (compressionType.equals(CompressionType.LZ4)) {
compressor = new ICompressor.IOTDBLZ4Compressor();
} else {
compressor = new ICompressor.NoCompressor();
}
long startTime = System.nanoTime();
long compressedSize = compressor.compress(baos.getBuf()).length;
long compressedCost = System.nanoTime() - startTime;
EncodeCompressAnalysedModel model = new EncodeCompressAnalysedModel();
model.setCompressName(compressionType.name());
model.setCompressedSize(compressedSize);
model.setUncompressSize(baos.size());
model.setTypeName(typeName);
model.setEncodeName(encodeName);
model.setEncodedSize(baos.size());
model.setOriginSize(originSize);
model.setCompressedCost(compressedCost);
return model;
}