You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by lc...@apache.org on 2018/01/24 23:13:52 UTC

[beam] 04/04: Optimize coder memory use

This is an automated email from the ASF dual-hosted git repository.

lcwik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git

commit 7f99628784c53c1b28e38bb4bfd9448c94021011
Author: ArnaudFnr <ar...@gmail.com>
AuthorDate: Wed Jan 17 08:32:27 2018 +0100

    Optimize coder memory use
---
 .../beam/sdk/extensions/sketching/SketchFrequencies.java | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/sdks/java/extensions/sketching/src/main/java/org/apache/beam/sdk/extensions/sketching/SketchFrequencies.java b/sdks/java/extensions/sketching/src/main/java/org/apache/beam/sdk/extensions/sketching/SketchFrequencies.java
index bb62053..a318473 100644
--- a/sdks/java/extensions/sketching/src/main/java/org/apache/beam/sdk/extensions/sketching/SketchFrequencies.java
+++ b/sdks/java/extensions/sketching/src/main/java/org/apache/beam/sdk/extensions/sketching/SketchFrequencies.java
@@ -29,7 +29,6 @@ import java.io.Serializable;
 import java.util.Iterator;
 
 import org.apache.beam.sdk.annotations.Experimental;
-import org.apache.beam.sdk.coders.BigEndianIntegerCoder;
 import org.apache.beam.sdk.coders.ByteArrayCoder;
 import org.apache.beam.sdk.coders.Coder;
 import org.apache.beam.sdk.coders.CoderException;
@@ -438,13 +437,6 @@ public final class SketchFrequencies {
               new CountMinSketch(depth, width, SEED));
     }
 
-    static <T> Sketch<T> create(int depth, int width, CountMinSketch sketch) {
-      return new AutoValue_SketchFrequencies_Sketch<T>(
-              depth,
-              width,
-              sketch);
-    }
-
     static <T> Sketch<T> create(CountMinSketch sketch) {
       int width = (int) Math.ceil(2 / sketch.getRelativeError());
       int depth = (int) Math.ceil(-Math.log(1 - sketch.getConfidence()) / Math.log(2));
@@ -491,26 +483,20 @@ public final class SketchFrequencies {
   static class CountMinSketchCoder<T> extends CustomCoder<Sketch<T>> {
 
     private static final ByteArrayCoder BYTE_ARRAY_CODER = ByteArrayCoder.of();
-    private static final BigEndianIntegerCoder INT_CODER = BigEndianIntegerCoder.of();
-
 
     @Override
     public void encode(Sketch<T> value, OutputStream outStream) throws IOException {
       if (value == null) {
         throw new CoderException("cannot encode a null Count-min Sketch");
       }
-      INT_CODER.encode(value.width(), outStream);
-      INT_CODER.encode(value.depth(), outStream);
       BYTE_ARRAY_CODER.encode(CountMinSketch.serialize(value.sketch()), outStream);
     }
 
     @Override
     public Sketch<T> decode(InputStream inStream) throws IOException {
-      int width = INT_CODER.decode(inStream);
-      int depth = INT_CODER.decode(inStream);
       byte[] sketchBytes = BYTE_ARRAY_CODER.decode(inStream);
       CountMinSketch sketch = CountMinSketch.deserialize(sketchBytes);
-      return Sketch.<T>create(depth, width, sketch);
+      return Sketch.<T>create(sketch);
     }
 
     @Override

-- 
To stop receiving notification emails like this one, please contact
lcwik@apache.org.