equal
deleted
inserted
replaced
598 |
598 |
599 :``readsize``: total size of data read from the disk for a revision |
599 :``readsize``: total size of data read from the disk for a revision |
600 (sum of the sizes of all the blocks) |
600 (sum of the sizes of all the blocks) |
601 :``largestblock``: size of the largest block of data read from the disk |
601 :``largestblock``: size of the largest block of data read from the disk |
602 :``readdensity``: density of useful bytes in the data read from the disk |
602 :``readdensity``: density of useful bytes in the data read from the disk |
|
603 :``srchunks``: in how many data hunks the whole revision would be read |
603 |
604 |
604 The sparse read can be enabled with experimental.sparse-read = True |
605 The sparse read can be enabled with experimental.sparse-read = True |
605 """ |
606 """ |
606 opts = pycompat.byteskwargs(opts) |
607 opts = pycompat.byteskwargs(opts) |
607 r = cmdutil.openrevlog(repo, 'debugdeltachain', file_, opts) |
608 r = cmdutil.openrevlog(repo, 'debugdeltachain', file_, opts) |
643 |
644 |
644 fm.plain(' rev chain# chainlen prev delta ' |
645 fm.plain(' rev chain# chainlen prev delta ' |
645 'size rawsize chainsize ratio lindist extradist ' |
646 'size rawsize chainsize ratio lindist extradist ' |
646 'extraratio') |
647 'extraratio') |
647 if withsparseread: |
648 if withsparseread: |
648 fm.plain(' readsize largestblk rddensity') |
649 fm.plain(' readsize largestblk rddensity srchunks') |
649 fm.plain('\n') |
650 fm.plain('\n') |
650 |
651 |
651 chainbases = {} |
652 chainbases = {} |
652 for rev in r: |
653 for rev in r: |
653 comp, uncomp, deltatype, chain, chainsize = revinfo(rev) |
654 comp, uncomp, deltatype, chain, chainsize = revinfo(rev) |
691 if largestblock < blksize: |
692 if largestblock < blksize: |
692 largestblock = blksize |
693 largestblock = blksize |
693 |
694 |
694 readdensity = float(chainsize) / float(readsize) |
695 readdensity = float(chainsize) / float(readsize) |
695 |
696 |
696 fm.write('readsize largestblock readdensity', |
697 if util.safehasattr(revlog, '_slicechunk'): |
697 ' %10d %10d %9.5f', |
698 revchunks = tuple(revlog._slicechunk(r, chain)) |
698 readsize, largestblock, readdensity, |
699 else: |
|
700 revchunks = (chain,) |
|
701 srchunks = len(revchunks) |
|
702 |
|
703 fm.write('readsize largestblock readdensity srchunks', |
|
704 ' %10d %10d %9.5f %8d', |
|
705 readsize, largestblock, readdensity, srchunks, |
699 readsize=readsize, largestblock=largestblock, |
706 readsize=readsize, largestblock=largestblock, |
700 readdensity=readdensity) |
707 readdensity=readdensity, srchunks=srchunks) |
701 |
708 |
702 fm.plain('\n') |
709 fm.plain('\n') |
703 |
710 |
704 fm.end() |
711 fm.end() |
705 |
712 |