tests/mockblackbox.py
author Gregory Szorc <gregory.szorc@gmail.com>
Sun, 20 Nov 2016 16:56:21 -0800
changeset 30461 d195fa651b51
parent 28943 417380aa5bbe
child 32412 043948c84647
permissions -rw-r--r--
bdiff: don't check border condition in loop This is pretty much a copy of d500ddae7494, just to a different loop. The condition `p == plast` (`plast == a + len - 1`) was only true on the final iteration of the loop. So it was wasteful to check for it on every iteration. We decrease the iteration count by 1 and add an explicit check for `p == plast` after the loop. Again, we see modest wins. From the mozilla-unified repository: $ perfbdiff -m 3041e4d59df2 ! wall 0.035502 comb 0.040000 user 0.040000 sys 0.000000 (best of 100) ! wall 0.030480 comb 0.030000 user 0.030000 sys 0.000000 (best of 100) $ perfbdiff 0e9928989e9c --alldata --count 100 ! wall 4.097394 comb 4.100000 user 4.100000 sys 0.000000 (best of 3) ! wall 3.597798 comb 3.600000 user 3.600000 sys 0.000000 (best of 3) The 2nd example throws a total of ~3.3GB of data at bdiff. This change increases the throughput from ~811 MB/s to ~924 MB/s.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28943
417380aa5bbe py3: use absolute_import in mockblackbox.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28028
diff changeset
     1
from __future__ import absolute_import
417380aa5bbe py3: use absolute_import in mockblackbox.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28028
diff changeset
     2
from mercurial import (
417380aa5bbe py3: use absolute_import in mockblackbox.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28028
diff changeset
     3
    util,
417380aa5bbe py3: use absolute_import in mockblackbox.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28028
diff changeset
     4
)
24705
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     5
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     6
def makedate():
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     7
    return 0, 0
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     8
def getuser():
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     9
    return 'bob'
28028
ac49ecb2a897 tests: mock getpid to reduce glob usage
timeless <timeless@mozdev.org>
parents: 24705
diff changeset
    10
def getpid():
ac49ecb2a897 tests: mock getpid to reduce glob usage
timeless <timeless@mozdev.org>
parents: 24705
diff changeset
    11
    return 5000
24705
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    12
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    13
# mock the date and user apis so the output is always the same
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    14
def uisetup(ui):
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    15
    util.makedate = makedate
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    16
    util.getuser = getuser
28028
ac49ecb2a897 tests: mock getpid to reduce glob usage
timeless <timeless@mozdev.org>
parents: 24705
diff changeset
    17
    util.getpid = getpid