tests/test-archive-symlinks.t
author Gregory Szorc <gregory.szorc@gmail.com>
Sun, 20 Nov 2016 16:56:21 -0800
changeset 30461 d195fa651b51
parent 29844 c4d03b6d9576
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:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 21216
diff changeset
     1
#require symlink
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
     2
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
     3
  $ origdir=`pwd`
4831
6f08bc1bd00b archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     4
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
     5
  $ hg init repo
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
     6
  $ cd repo
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
     7
  $ ln -s nothing dangling
4831
6f08bc1bd00b archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     8
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
     9
avoid tar warnings about old timestamp
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    10
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    11
  $ hg ci -d '2000-01-01 00:00:00 +0000' -qAm 'add symlink'
4831
6f08bc1bd00b archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    12
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    13
  $ hg archive -t files ../archive
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    14
  $ hg archive -t tar -p tar ../archive.tar
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    15
  $ hg archive -t zip -p zip ../archive.zip
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    16
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    17
files
4831
6f08bc1bd00b archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    18
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    19
  $ cd "$origdir"
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    20
  $ cd archive
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
    21
  $ readlink.py dangling
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    22
  dangling -> nothing
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    23
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    24
tar
4831
6f08bc1bd00b archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    25
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    26
  $ cd "$origdir"
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    27
  $ tar xf archive.tar
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    28
  $ cd tar
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
    29
  $ readlink.py dangling
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    30
  dangling -> nothing
4831
6f08bc1bd00b archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    31
29844
c4d03b6d9576 tests: guard test-archive-symlink with unziplinks check
Augie Fackler <augie@google.com>
parents: 25472
diff changeset
    32
#if unziplinks
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    33
zip
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    34
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    35
  $ cd "$origdir"
21216
6d632cf8a811 tests: suppress spurious lchmod error from unzip (issue4088)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    36
  $ unzip archive.zip > /dev/null 2>&1
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    37
  $ cd zip
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
    38
  $ readlink.py dangling
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    39
  dangling -> nothing
29844
c4d03b6d9576 tests: guard test-archive-symlink with unziplinks check
Augie Fackler <augie@google.com>
parents: 25472
diff changeset
    40
#endif
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
    41
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
    42
  $ cd ..