Skip to content

Commit 6e81f25

Browse files
authored
Merge pull request #37584 Optimize data size estimation for proto coder.
2 parents eba1ec3 + 9a1dedf commit 6e81f25

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

sdks/python/apache_beam/coders/coder_impl.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,9 @@ def decode(self, encoded):
316316
proto_message.ParseFromString(encoded) # This is in effect "ParsePartial".
317317
return proto_message
318318

319+
def estimate_size(self, value, nested=False):
320+
return self._get_nested_size(value.ByteSize(), nested)
321+
319322

320323
class DeterministicProtoCoderImpl(ProtoCoderImpl):
321324
"""For internal use only; no backwards-compatibility guarantees."""
@@ -335,6 +338,9 @@ def encode(self, value):
335338
def decode(self, value):
336339
return self.proto_plus_type.deserialize(value)
337340

341+
def estimate_size(self, value, nested=False):
342+
return self._get_nested_size(type(value).pb(value).ByteSize(), nested)
343+
338344

339345
UNKNOWN_TYPE = 0xFF
340346
NONE_TYPE = 0

0 commit comments

Comments
 (0)