X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/20ade56019456b41c98021c2ed5a848bd8d018bb..0e0c1400b57d5de8aa8c18dd4897527f905a4b42:/sdk/python/arvados/_ranges.py?ds=sidebyside diff --git a/sdk/python/arvados/_ranges.py b/sdk/python/arvados/_ranges.py index 83437b2adb..6d7c112b99 100644 --- a/sdk/python/arvados/_ranges.py +++ b/sdk/python/arvados/_ranges.py @@ -1,3 +1,5 @@ +from __future__ import division +from builtins import object import logging _logger = logging.getLogger('arvados.ranges') @@ -6,6 +8,8 @@ _logger = logging.getLogger('arvados.ranges') RANGES_SPAM = 9 class Range(object): + __slots__ = ("locator", "range_start", "range_size", "segment_offset") + def __init__(self, locator, range_start, range_size, segment_offset=0): self.locator = locator self.range_start = range_start @@ -22,14 +26,14 @@ class Range(object): self.segment_offset == other.segment_offset) def first_block(data_locators, range_start): - block_start = 0L + block_start = 0 # range_start/block_start is the inclusive lower bound # range_end/block_end is the exclusive upper bound hi = len(data_locators) lo = 0 - i = int((hi + lo) / 2) + i = (hi + lo) // 2 block_size = data_locators[i].range_size block_start = data_locators[i].range_start block_end = block_start + block_size @@ -45,7 +49,7 @@ def first_block(data_locators, range_start): lo = i else: hi = i - i = int((hi + lo) / 2) + i = (hi + lo) // 2 block_size = data_locators[i].range_size block_start = data_locators[i].range_start block_end = block_start + block_size @@ -53,6 +57,8 @@ def first_block(data_locators, range_start): return i class LocatorAndRange(object): + __slots__ = ("locator", "block_size", "segment_offset", "segment_size") + def __init__(self, locator, block_size, segment_offset, segment_size): self.locator = locator self.block_size = block_size