Skip to content
This repository was archived by the owner on Jul 7, 2020. It is now read-only.

Commit e01082a

Browse files
committed
Removed class Bytes for HyperLogLog serialization, using symmetric DataOutputStream instead.
1 parent 646f025 commit e01082a

File tree

2 files changed

+11
-87
lines changed

2 files changed

+11
-87
lines changed

src/main/java/com/clearspring/analytics/stream/cardinality/HyperLogLog.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@
1717
package com.clearspring.analytics.stream.cardinality;
1818

1919
import com.clearspring.analytics.hash.MurmurHash;
20-
import com.clearspring.analytics.util.Bytes;
2120
import com.clearspring.analytics.util.IBuilder;
2221

2322
import java.io.ByteArrayInputStream;
23+
import java.io.ByteArrayOutputStream;
2424
import java.io.DataInputStream;
25+
import java.io.DataOutputStream;
2526
import java.io.IOException;
2627
import java.io.Serializable;
2728

@@ -200,14 +201,17 @@ public int sizeof()
200201
@Override
201202
public byte[] getBytes() throws IOException
202203
{
203-
int bytes = registerSet.size * 4;
204-
byte[] bArray = new byte[bytes + 8];
204+
ByteArrayOutputStream baos = new ByteArrayOutputStream();
205+
DataOutputStream dos = new DataOutputStream(baos);
205206

206-
Bytes.addByteArray(bArray, 0, log2m);
207-
Bytes.addByteArray(bArray, 4, bytes);
208-
Bytes.addByteArray(bArray, 8, registerSet.bits());
207+
dos.writeInt(log2m);
208+
dos.writeInt(registerSet.size * 4);
209+
for(int x : registerSet.bits())
210+
{
211+
dos.writeInt(x);
212+
}
209213

210-
return bArray;
214+
return baos.toByteArray();
211215
}
212216

213217
@Override

src/main/java/com/clearspring/analytics/util/Bytes.java

Lines changed: 0 additions & 80 deletions
This file was deleted.

0 commit comments

Comments
 (0)