3981 except ImportError: |
3981 except ImportError: |
3982 slicechunk = getattr(revlog, '_slicechunk', None) |
3982 slicechunk = getattr(revlog, '_slicechunk', None) |
3983 |
3983 |
3984 size = r.length(rev) |
3984 size = r.length(rev) |
3985 chain = r._deltachain(rev)[0] |
3985 chain = r._deltachain(rev)[0] |
3986 if not getattr(r, '_withsparseread', False): |
3986 |
|
3987 with_sparse_read = False |
|
3988 if hasattr(r, 'data_config'): |
|
3989 with_sparse_read = r.data_config.with_sparse_read |
|
3990 elif hasattr(r, '_withsparseread'): |
|
3991 with_sparse_read = r._withsparseread |
|
3992 if with_sparse_read: |
3987 slicedchain = (chain,) |
3993 slicedchain = (chain,) |
3988 else: |
3994 else: |
3989 slicedchain = tuple(slicechunk(r, chain, targetsize=size)) |
3995 slicedchain = tuple(slicechunk(r, chain, targetsize=size)) |
3990 data = [segmentforrevs(seg[0], seg[-1])[1] for seg in slicedchain] |
3996 data = [segmentforrevs(seg[0], seg[-1])[1] for seg in slicedchain] |
3991 rawchunks = getrawchunks(data, slicedchain) |
3997 rawchunks = getrawchunks(data, slicedchain) |
3998 (lambda: dorevision(), b'full'), |
4004 (lambda: dorevision(), b'full'), |
3999 (lambda: dodeltachain(rev), b'deltachain'), |
4005 (lambda: dodeltachain(rev), b'deltachain'), |
4000 (lambda: doread(chain), b'read'), |
4006 (lambda: doread(chain), b'read'), |
4001 ] |
4007 ] |
4002 |
4008 |
4003 if getattr(r, '_withsparseread', False): |
4009 if with_sparse_read: |
4004 slicing = (lambda: doslice(r, chain, size), b'slice-sparse-chain') |
4010 slicing = (lambda: doslice(r, chain, size), b'slice-sparse-chain') |
4005 benches.append(slicing) |
4011 benches.append(slicing) |
4006 |
4012 |
4007 benches.extend( |
4013 benches.extend( |
4008 [ |
4014 [ |