dianfu commented on a change in pull request #11118: [FLINK-16072][python]
Optimize the performance of the write/read null mask
URL: https://github.com/apache/flink/pull/11118#discussion_r381769187
##########
File path: flink-python/pyflink/fn_execution/coder_impl.py
##########
@@ -25,56 +25,331 @@
class FlattenRowCoderImpl(StreamCoderImpl):
+ null_mask_search_table = ((False, False, False, False, False, False,
False, False),
+ (False, False, False, False, False, False,
False, True),
+ (False, False, False, False, False, False, True,
False),
+ (False, False, False, False, False, False, True,
True),
+ (False, False, False, False, False, True, False,
False),
+ (False, False, False, False, False, True, False,
True),
+ (False, False, False, False, False, True, True,
False),
+ (False, False, False, False, False, True, True,
True),
+ (False, False, False, False, True, False, False,
False),
+ (False, False, False, False, True, False, False,
True),
+ (False, False, False, False, True, False, True,
False),
+ (False, False, False, False, True, False, True,
True),
+ (False, False, False, False, True, True, False,
False),
+ (False, False, False, False, True, True, False,
True),
+ (False, False, False, False, True, True, True,
False),
+ (False, False, False, False, True, True, True,
True),
+ (False, False, False, True, False, False, False,
False),
+ (False, False, False, True, False, False, False,
True),
+ (False, False, False, True, False, False, True,
False),
+ (False, False, False, True, False, False, True,
True),
+ (False, False, False, True, False, True, False,
False),
+ (False, False, False, True, False, True, False,
True),
+ (False, False, False, True, False, True, True,
False),
+ (False, False, False, True, False, True, True,
True),
+ (False, False, False, True, True, False, False,
False),
+ (False, False, False, True, True, False, False,
True),
+ (False, False, False, True, True, False, True,
False),
+ (False, False, False, True, True, False, True,
True),
+ (False, False, False, True, True, True, False,
False),
+ (False, False, False, True, True, True, False,
True),
+ (False, False, False, True, True, True, True,
False),
+ (False, False, False, True, True, True, True,
True),
+ (False, False, True, False, False, False, False,
False),
+ (False, False, True, False, False, False, False,
True),
+ (False, False, True, False, False, False, True,
False),
+ (False, False, True, False, False, False, True,
True),
+ (False, False, True, False, False, True, False,
False),
+ (False, False, True, False, False, True, False,
True),
+ (False, False, True, False, False, True, True,
False),
+ (False, False, True, False, False, True, True,
True),
+ (False, False, True, False, True, False, False,
False),
+ (False, False, True, False, True, False, False,
True),
+ (False, False, True, False, True, False, True,
False),
+ (False, False, True, False, True, False, True,
True),
+ (False, False, True, False, True, True, False,
False),
+ (False, False, True, False, True, True, False,
True),
+ (False, False, True, False, True, True, True,
False),
+ (False, False, True, False, True, True, True,
True),
+ (False, False, True, True, False, False, False,
False),
+ (False, False, True, True, False, False, False,
True),
+ (False, False, True, True, False, False, True,
False),
+ (False, False, True, True, False, False, True,
True),
+ (False, False, True, True, False, True, False,
False),
+ (False, False, True, True, False, True, False,
True),
+ (False, False, True, True, False, True, True,
False),
+ (False, False, True, True, False, True, True,
True),
+ (False, False, True, True, True, False, False,
False),
+ (False, False, True, True, True, False, False,
True),
+ (False, False, True, True, True, False, True,
False),
+ (False, False, True, True, True, False, True,
True),
+ (False, False, True, True, True, True, False,
False),
+ (False, False, True, True, True, True, False,
True),
+ (False, False, True, True, True, True, True,
False),
+ (False, False, True, True, True, True, True,
True),
+ (False, True, False, False, False, False, False,
False),
+ (False, True, False, False, False, False, False,
True),
+ (False, True, False, False, False, False, True,
False),
+ (False, True, False, False, False, False, True,
True),
+ (False, True, False, False, False, True, False,
False),
+ (False, True, False, False, False, True, False,
True),
+ (False, True, False, False, False, True, True,
False),
+ (False, True, False, False, False, True, True,
True),
+ (False, True, False, False, True, False, False,
False),
+ (False, True, False, False, True, False, False,
True),
+ (False, True, False, False, True, False, True,
False),
+ (False, True, False, False, True, False, True,
True),
+ (False, True, False, False, True, True, False,
False),
+ (False, True, False, False, True, True, False,
True),
+ (False, True, False, False, True, True, True,
False),
+ (False, True, False, False, True, True, True,
True),
+ (False, True, False, True, False, False, False,
False),
+ (False, True, False, True, False, False, False,
True),
+ (False, True, False, True, False, False, True,
False),
+ (False, True, False, True, False, False, True,
True),
+ (False, True, False, True, False, True, False,
False),
+ (False, True, False, True, False, True, False,
True),
+ (False, True, False, True, False, True, True,
False),
+ (False, True, False, True, False, True, True,
True),
+ (False, True, False, True, True, False, False,
False),
+ (False, True, False, True, True, False, False,
True),
+ (False, True, False, True, True, False, True,
False),
+ (False, True, False, True, True, False, True,
True),
+ (False, True, False, True, True, True, False,
False),
+ (False, True, False, True, True, True, False,
True),
+ (False, True, False, True, True, True, True,
False),
+ (False, True, False, True, True, True, True,
True),
+ (False, True, True, False, False, False, False,
False),
+ (False, True, True, False, False, False, False,
True),
+ (False, True, True, False, False, False, True,
False),
+ (False, True, True, False, False, False, True,
True),
+ (False, True, True, False, False, True, False,
False),
+ (False, True, True, False, False, True, False,
True),
+ (False, True, True, False, False, True, True,
False),
+ (False, True, True, False, False, True, True,
True),
+ (False, True, True, False, True, False, False,
False),
+ (False, True, True, False, True, False, False,
True),
+ (False, True, True, False, True, False, True,
False),
+ (False, True, True, False, True, False, True,
True),
+ (False, True, True, False, True, True, False,
False),
+ (False, True, True, False, True, True, False,
True),
+ (False, True, True, False, True, True, True,
False),
+ (False, True, True, False, True, True, True,
True),
+ (False, True, True, True, False, False, False,
False),
+ (False, True, True, True, False, False, False,
True),
+ (False, True, True, True, False, False, True,
False),
+ (False, True, True, True, False, False, True,
True),
+ (False, True, True, True, False, True, False,
False),
+ (False, True, True, True, False, True, False,
True),
+ (False, True, True, True, False, True, True,
False),
+ (False, True, True, True, False, True, True,
True),
+ (False, True, True, True, True, False, False,
False),
+ (False, True, True, True, True, False, False,
True),
+ (False, True, True, True, True, False, True,
False),
+ (False, True, True, True, True, False, True,
True),
+ (False, True, True, True, True, True, False,
False),
+ (False, True, True, True, True, True, False,
True),
+ (False, True, True, True, True, True, True,
False),
+ (False, True, True, True, True, True, True,
True),
+ (True, False, False, False, False, False, False,
False),
+ (True, False, False, False, False, False, False,
True),
+ (True, False, False, False, False, False, True,
False),
+ (True, False, False, False, False, False, True,
True),
+ (True, False, False, False, False, True, False,
False),
+ (True, False, False, False, False, True, False,
True),
+ (True, False, False, False, False, True, True,
False),
+ (True, False, False, False, False, True, True,
True),
+ (True, False, False, False, True, False, False,
False),
+ (True, False, False, False, True, False, False,
True),
+ (True, False, False, False, True, False, True,
False),
+ (True, False, False, False, True, False, True,
True),
+ (True, False, False, False, True, True, False,
False),
+ (True, False, False, False, True, True, False,
True),
+ (True, False, False, False, True, True, True,
False),
+ (True, False, False, False, True, True, True,
True),
+ (True, False, False, True, False, False, False,
False),
+ (True, False, False, True, False, False, False,
True),
+ (True, False, False, True, False, False, True,
False),
+ (True, False, False, True, False, False, True,
True),
+ (True, False, False, True, False, True, False,
False),
+ (True, False, False, True, False, True, False,
True),
+ (True, False, False, True, False, True, True,
False),
+ (True, False, False, True, False, True, True,
True),
+ (True, False, False, True, True, False, False,
False),
+ (True, False, False, True, True, False, False,
True),
+ (True, False, False, True, True, False, True,
False),
+ (True, False, False, True, True, False, True,
True),
+ (True, False, False, True, True, True, False,
False),
+ (True, False, False, True, True, True, False,
True),
+ (True, False, False, True, True, True, True,
False),
+ (True, False, False, True, True, True, True,
True),
+ (True, False, True, False, False, False, False,
False),
+ (True, False, True, False, False, False, False,
True),
+ (True, False, True, False, False, False, True,
False),
+ (True, False, True, False, False, False, True,
True),
+ (True, False, True, False, False, True, False,
False),
+ (True, False, True, False, False, True, False,
True),
+ (True, False, True, False, False, True, True,
False),
+ (True, False, True, False, False, True, True,
True),
+ (True, False, True, False, True, False, False,
False),
+ (True, False, True, False, True, False, False,
True),
+ (True, False, True, False, True, False, True,
False),
+ (True, False, True, False, True, False, True,
True),
+ (True, False, True, False, True, True, False,
False),
+ (True, False, True, False, True, True, False,
True),
+ (True, False, True, False, True, True, True,
False),
+ (True, False, True, False, True, True, True,
True),
+ (True, False, True, True, False, False, False,
False),
+ (True, False, True, True, False, False, False,
True),
+ (True, False, True, True, False, False, True,
False),
+ (True, False, True, True, False, False, True,
True),
+ (True, False, True, True, False, True, False,
False),
+ (True, False, True, True, False, True, False,
True),
+ (True, False, True, True, False, True, True,
False),
+ (True, False, True, True, False, True, True,
True),
+ (True, False, True, True, True, False, False,
False),
+ (True, False, True, True, True, False, False,
True),
+ (True, False, True, True, True, False, True,
False),
+ (True, False, True, True, True, False, True,
True),
+ (True, False, True, True, True, True, False,
False),
+ (True, False, True, True, True, True, False,
True),
+ (True, False, True, True, True, True, True,
False),
+ (True, False, True, True, True, True, True,
True),
+ (True, True, False, False, False, False, False,
False),
+ (True, True, False, False, False, False, False,
True),
+ (True, True, False, False, False, False, True,
False),
+ (True, True, False, False, False, False, True,
True),
+ (True, True, False, False, False, True, False,
False),
+ (True, True, False, False, False, True, False,
True),
+ (True, True, False, False, False, True, True,
False),
+ (True, True, False, False, False, True, True,
True),
+ (True, True, False, False, True, False, False,
False),
+ (True, True, False, False, True, False, False,
True),
+ (True, True, False, False, True, False, True,
False),
+ (True, True, False, False, True, False, True,
True),
+ (True, True, False, False, True, True, False,
False),
+ (True, True, False, False, True, True, False,
True),
+ (True, True, False, False, True, True, True,
False),
+ (True, True, False, False, True, True, True,
True),
+ (True, True, False, True, False, False, False,
False),
+ (True, True, False, True, False, False, False,
True),
+ (True, True, False, True, False, False, True,
False),
+ (True, True, False, True, False, False, True,
True),
+ (True, True, False, True, False, True, False,
False),
+ (True, True, False, True, False, True, False,
True),
+ (True, True, False, True, False, True, True,
False),
+ (True, True, False, True, False, True, True,
True),
+ (True, True, False, True, True, False, False,
False),
+ (True, True, False, True, True, False, False,
True),
+ (True, True, False, True, True, False, True,
False),
+ (True, True, False, True, True, False, True,
True),
+ (True, True, False, True, True, True, False,
False),
+ (True, True, False, True, True, True, False,
True),
+ (True, True, False, True, True, True, True,
False),
+ (True, True, False, True, True, True, True,
True),
+ (True, True, True, False, False, False, False,
False),
+ (True, True, True, False, False, False, False,
True),
+ (True, True, True, False, False, False, True,
False),
+ (True, True, True, False, False, False, True,
True),
+ (True, True, True, False, False, True, False,
False),
+ (True, True, True, False, False, True, False,
True),
+ (True, True, True, False, False, True, True,
False),
+ (True, True, True, False, False, True, True,
True),
+ (True, True, True, False, True, False, False,
False),
+ (True, True, True, False, True, False, False,
True),
+ (True, True, True, False, True, False, True,
False),
+ (True, True, True, False, True, False, True,
True),
+ (True, True, True, False, True, True, False,
False),
+ (True, True, True, False, True, True, False,
True),
+ (True, True, True, False, True, True, True,
False),
+ (True, True, True, False, True, True, True,
True),
+ (True, True, True, True, False, False, False,
False),
+ (True, True, True, True, False, False, False,
True),
+ (True, True, True, True, False, False, True,
False),
+ (True, True, True, True, False, False, True,
True),
+ (True, True, True, True, False, True, False,
False),
+ (True, True, True, True, False, True, False,
True),
+ (True, True, True, True, False, True, True,
False),
+ (True, True, True, True, False, True, True,
True),
+ (True, True, True, True, True, False, False,
False),
+ (True, True, True, True, True, False, False,
True),
+ (True, True, True, True, True, False, True,
False),
+ (True, True, True, True, True, False, True,
True),
+ (True, True, True, True, True, True, False,
False),
+ (True, True, True, True, True, True, False,
True),
+ (True, True, True, True, True, True, True,
False),
+ (True, True, True, True, True, True, True, True))
+
+ null_byte_search_table = (0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01)
def __init__(self, field_coders):
self._field_coders = field_coders
self._filed_count = len(field_coders)
+ self._complete_byte_num = self._filed_count // 8
Review comment:
_complete_byte_num -> _leading_complete_bytes_num
_leading_bytes_num -> _remaining_bits_num
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services