Skip to content
Snippets Groups Projects
  • Pierre-Yves David's avatar
    0657045a607f
    copies-rust: use simpler overwrite when value on both side are identical · 0657045a607f
    Pierre-Yves David authored
    If the value are the same, their "overwritten" set is the same and we don't need
    to combine them.
    
    
    It helps our slower cases
    
    Repo            Case                                  Source-Rev   Dest-Rev      # of revisions  old time    new time      Difference    Factor    time per rev
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------
    mozilla-try     x00000_revs_x00000_added_x0000_copies 1b661134e2ca 1ae03d022d6d : 228985 revs,  86.722016 s,  80.828689 s,  -5.893327 s, × 0.9320,   352 µs/rev
    mozilla-try     x00000_revs_x00000_added_x000_copies  9b2a99adc05e 8e29777b48e6 : 382065 revs,  35.113727 s,  34.094064 s,  -1.019663 s, × 0.9710,    89 µs/rev
    
    Below are three different benchmark comparing this changeset to:
    * the previous one,
    * the implementation based on `is_anscestors`,
    * the filelog copy tracing.
    
    
    This changeset compared to the previous one:
    
    Repo            Case                                  Source-Rev   Dest-Rev      # of revisions  old time    new time      Difference    Factor    time per rev
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------
    mercurial       x_revs_x_added_0_copies               ad6b123de1c7 39cfcef4f463 :      1 revs,   0.000043 s,   0.000043 s,  +0.000000 s, × 1.0000,    43 µs/rev
    mercurial       x_revs_x_added_x_copies               2b1c78674230 0c1d10351869 :      6 revs,   0.000114 s,   0.000114 s,  +0.000000 s, × 1.0000,    19 µs/rev
    mercurial       x000_revs_x000_added_x_copies         81f8ff2a9bf2 dd3267698d84 :   1032 revs,   0.004899 s,   0.004899 s,  +0.000000 s, × 1.0000,     4 µs/rev
    pypy            x_revs_x_added_0_copies               aed021ee8ae8 099ed31b181b :      9 revs,   0.000196 s,   0.000196 s,  +0.000000 s, × 1.0000,    21 µs/rev
    pypy            x_revs_x000_added_0_copies            4aa4e1f8e19a 359343b9ac0e :      1 revs,   0.000050 s,   0.000049 s,  -0.000001 s, × 0.9800,    49 µs/rev
    pypy            x_revs_x_added_x_copies               ac52eb7bbbb0 72e022663155 :      7 revs,   0.000125 s,   0.000117 s,  -0.000008 s, × 0.9360,    16 µs/rev
    pypy            x_revs_x00_added_x_copies             c3b14617fbd7 ace7255d9a26 :      1 revs,   0.000321 s,   0.6f1f4a s,  +0.000001 s, × 1.0031,   322 µs/rev
    pypy            x_revs_x000_added_x000_copies         df6f7a526b60 a83dc6a2d56f :      6 revs,   0.011948 s,   0.011856 s,  -0.000092 s, × 0.9923,  1976 µs/rev
    pypy            x000_revs_xx00_added_0_copies         89a76aede314 2f22446ff07e :   4785 revs,   0.051267 s,   0.050992 s,  -0.000275 s, × 0.9946,    10 µs/rev
    pypy            x000_revs_x000_added_x_copies         8a3b5bfd266e 2c68e87c3efe :   6780 revs,   0.087755 s,   0.087444 s,  -0.000311 s, × 0.9965,    12 µs/rev
    pypy            x000_revs_x000_added_x000_copies      89a76aede314 7b3dda341c84 :   5441 revs,   0.061818 s,   0.062487 s,  +0.000669 s, × 1.0108,    11 µs/rev
    pypy            x0000_revs_x_added_0_copies           d1defd0dc478 c9cb1334cc78 :  43645 revs,   0.634253 s,   0.634909 s,  +0.000656 s, × 1.0010,    14 µs/rev
    pypy            x0000_revs_xx000_added_0_copies       bf2c629d0071 4ffed77c095c :      2 revs,   0.013179 s,   0.013360 s,  +0.000181 s, × 1.0137,  6680 µs/rev
    pypy            x0000_revs_xx000_added_x000_copies    08ea3258278e d9fa043f30c0 :  11316 revs,   0.119643 s,   0.120775 s,  +0.001132 s, × 1.0095,    10 µs/rev
    netbeans        x_revs_x_added_0_copies               fb0955ffcbcd a01e9239f9e7 :      2 revs,   0.000085 s,   0.000085 s,  +0.000000 s, × 1.0000,    42 µs/rev
    netbeans        x_revs_x000_added_0_copies            6f360122949f 20eb231cc7d0 :      2 revs,   0.000107 s,   0.000108 s,  +0.000001 s, × 1.0093,    54 µs/rev
    netbeans        x_revs_x_added_x_copies               1ada3faf6fb6 5a39d12eecf4 :      3 revs,   0.000176 s,   0.000176 s,  +0.000000 s, × 1.0000,    58 µs/rev
    netbeans        x_revs_x00_added_x_copies             35be93ba1e2c 9eec5e90c05f :      9 revs,   0.000743 s,   0.000747 s,  +0.000004 s, × 1.0054,    83 µs/rev
    netbeans        x000_revs_xx00_added_0_copies         eac3045b4fdd 51d4ae7f1290 :   1421 revs,   0.010246 s,   0.010128 s,  -0.000118 s, × 0.9885,     7 µs/rev
    netbeans        x000_revs_x000_added_x_copies         e2063d266acd 6081d72689dc :   1533 revs,   0.015853 s,   0.015899 s,  +0.000046 s, × 1.0029,    10 µs/rev
    netbeans        x000_revs_x000_added_x000_copies      ff453e9fee32 411350406ec2 :   5750 revs,   0.062971 s,   0.062215 s,  -0.000756 s, × 0.9880,    10 µs/rev
    netbeans        x0000_revs_xx000_added_x000_copies    588c2d1ced70 1aad62e59ddd :  66949 revs,   0.518337 s,   0.521004 s,  +0.002667 s, × 1.0051,     7 µs/rev
    mozilla-central x_revs_x_added_0_copies               3697f962bb7b 7015fcdd43a2 :      2 revs,   0.000090 s,   0.000090 s,  +0.000000 s, × 1.0000,    45 µs/rev
    mozilla-central x_revs_x000_added_0_copies            dd390860c6c9 40d0c5bed75d :      8 revs,   0.000268 s,   0.000264 s,  -0.000004 s, × 0.9851,    33 µs/rev
    mozilla-central x_revs_x_added_x_copies               8d198483ae3b 14207ffc2b2f :      9 revs,   0.000187 s,   0.000186 s,  -0.000001 s, × 0.9947,    20 µs/rev
    mozilla-central x_revs_x00_added_x_copies             98cbc58cc6bc 446a150332c3 :      7 revs,   0.000661 s,   0.000660 s,  -0.000001 s, × 0.9985,    94 µs/rev
    mozilla-central x_revs_x000_added_x000_copies         3c684b4b8f68 0a5e72d1b479 :      3 revs,   0.003494 s,   0.003542 s,  +0.000048 s, × 1.0137,  1180 µs/rev
    mozilla-central x_revs_x0000_added_x0000_copies       effb563bb7e5 c07a39dc4e80 :      6 revs,   0.070509 s,   0.071574 s,  +0.001065 s, × 1.0151, 11929 µs/rev
    mozilla-central x000_revs_xx00_added_0_copies         6100d773079a 04a55431795e :   1593 revs,   0.006489 s,   0.006498 s,  +0.000009 s, × 1.0014,     4 µs/rev
    mozilla-central x000_revs_x000_added_x_copies         9f17a6fc04f9 2d37b966abed :     41 revs,   0.005070 s,   0.005206 s,  +0.000136 s, × 1.0268,   126 µs/rev
    mozilla-central x000_revs_x000_added_x000_copies      7c97034feb78 4407bd0c6330 :   7839 revs,   0.065241 s,   0.065535 s,  +0.000294 s, × 1.0045,     8 µs/rev
    mozilla-central x0000_revs_xx000_added_0_copies       9eec5917337d 67118cc6dcad :    615 revs,   0.027284 s,   0.027139 s,  -0.000145 s, × 0.9947,    44 µs/rev
    mozilla-central x0000_revs_xx000_added_x000_copies    f78c615a656c 96a38b690156 :  30263 revs,   0.203671 s,   0.201924 s,  -0.001747 s, × 0.9914,     6 µs/rev
    mozilla-central x00000_revs_x0000_added_x0000_copies  6832ae71433c 4c222a1d9a00 : 153721 revs,   1.239373 s,   1.257201 s,  +0.017828 s, × 1.0144,     8 µs/rev
    mozilla-central x00000_revs_x00000_added_x000_copies  76caed42cf7c 1daa622bbe42 : 204976 revs,   1.649803 s,   1.663045 s,  +0.013242 s, × 1.0080,     8 µs/rev
    mozilla-try     x_revs_x_added_0_copies               aaf6dde0deb8 9790f499805a :      2 revs,   0.000868 s,   0.000866 s,  -0.000002 s, × 0.9977,   433 µs/rev
    mozilla-try     x_revs_x000_added_0_copies            d8d0222927b4 5bb8ce8c7450 :      2 revs,   0.000885 s,   0.000883 s,  -0.000002 s, × 0.9977,   441 µs/rev
    mozilla-try     x_revs_x_added_x_copies               092fcca11bdb 936255a0384a :      4 revs,   0.000165 s,   0.000163 s,  -0.000002 s, × 0.9879,    40 µs/rev
    mozilla-try     x_revs_x00_added_x_copies             b53d2fadbdb5 017afae788ec :      2 revs,   0.001147 s,   0.001139 s,  -0.000008 s, × 0.9930,   569 µs/rev
    mozilla-try     x_revs_x000_added_x000_copies         20408ad61ce5 6f0ee96e21ad :      1 revs,   0.032885 s,   0.032753 s,  -0.000132 s, × 0.9960, 32752 µs/rev
    mozilla-try     x_revs_x0000_added_x0000_copies       effb563bb7e5 c07a39dc4e80 :      6 revs,   0.071304 s,   0.073266 s,  +0.001962 s, × 1.0275, 12211 µs/rev
    mozilla-try     x000_revs_xx00_added_0_copies         6100d773079a 04a55431795e :   1593 revs,   0.006506 s,   0.006567 s,  +0.000061 s, × 1.0094,     4 µs/rev
    mozilla-try     x000_revs_x000_added_x_copies         9f17a6fc04f9 2d37b966abed :     41 revs,   0.005486 s,   0.005427 s,  -0.000059 s, × 0.9892,   132 µs/rev
    mozilla-try     x000_revs_x000_added_x000_copies      1346fd0130e4 4c65cbdabc1f :   6657 revs,   0.064677 s,   0.064058 s,  -0.000619 s, × 0.9904,     9 µs/rev
    mozilla-try     x0000_revs_x_added_0_copies           63519bfd42ee a36a2a865d92 :  40314 revs,   0.306000 s,   0.303320 s,  -0.002680 s, × 0.9912,     7 µs/rev
    mozilla-try     x0000_revs_x_added_x_copies           9fe69ff0762d bcabf2a78927 :  38690 revs,   0.288217 s,   0.288456 s,  +0.000239 s, × 1.0008,     7 µs/rev
    mozilla-try     x0000_revs_xx000_added_x_copies       156f6e2674f2 4d0f2c178e66 :   8598 revs,   0.086117 s,   0.085925 s,  -0.000192 s, × 0.9978,     9 µs/rev
    mozilla-try     x0000_revs_xx000_added_0_copies       9eec5917337d 67118cc6dcad :    615 revs,   0.027512 s,   0.027302 s,  -0.000210 s, × 0.9924,    44 µs/rev
    mozilla-try     x0000_revs_xx000_added_x000_copies    89294cd501d9 7ccb2fc7ccb5 :  97052 revs,   1.998239 s,   2.034596 s,  +0.036357 s, × 1.0182,    20 µs/rev
    mozilla-try     x0000_revs_x0000_added_x0000_copies   e928c65095ed e951f4ad123a :  52031 revs,   0.688201 s,   0.694030 s,  +0.005829 s, × 1.0085,    13 µs/rev
    mozilla-try     x00000_revs_x_added_0_copies          6a320851d377 1ebb79acd503 : 363753 revs,   4.389428 s,   4.407723 s,  +0.018295 s, × 1.0042,    12 µs/rev
    mozilla-try     x00000_revs_x00000_added_0_copies     dc8a3ca7010e d16fde900c9c :  34414 revs,   0.578736 s,   0.574355 s,  -0.004381 s, × 0.9924,    16 µs/rev
    mozilla-try     x00000_revs_x_added_x_copies          5173c4b6f97c 95d83ee7242d : 362229 revs,   4.363599 s,   4.457827 s,  +0.094228 s, × 1.0216,    12 µs/rev
    mozilla-try     x00000_revs_x000_added_x_copies       9126823d0e9c ca82787bb23c : 359344 revs,   4.324129 s,   4.351696 s,  +0.027567 s, × 1.0064,    12 µs/rev
    mozilla-try     x00000_revs_x0000_added_x0000_copies  8d3fafa80d4b eb884023b810 : 192665 revs,   1.565727 s,   1.570065 s,  +0.004338 s, × 1.0028,     8 µs/rev
    obfuscated-jane worst-case                            9b3bd6a35837 fae875e6ab31 : 459513 revs,  27.397070 s,  27.435529 s,  +0.038459 s, × 1.0014,    59 µs/rev
    
    
    
    
    This changeset compared to implementation based on `is_anscestors`:
    
    Repo            Case                                  Source-Rev   Dest-Rev      # of revisions  old time    new time      Difference    Factor    time per rev
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------
    mercurial       x_revs_x_added_0_copies               ad6b123de1c7 39cfcef4f463 :      1 revs,   0.000042 s,   0.000043 s,  +0.000001 s, × 1.0238,    43 µs/rev
    mercurial       x_revs_x_added_x_copies               2b1c78674230 0c1d10351869 :      6 revs,   0.000110 s,   0.000114 s,  +0.000004 s, × 1.0364,    19 µs/rev
    mercurial       x000_revs_x000_added_x_copies         81f8ff2a9bf2 dd3267698d84 :   1032 revs,   0.004945 s,   0.004899 s,  -0.000046 s, × 0.9907,     4 µs/rev
    pypy            x_revs_x_added_0_copies               aed021ee8ae8 099ed31b181b :      9 revs,   0.000192 s,   0.000196 s,  +0.000004 s, × 1.0208,    21 µs/rev
    pypy            x_revs_x000_added_0_copies            4aa4e1f8e19a 359343b9ac0e :      1 revs,   0.000049 s,   0.000049 s,  +0.000000 s, × 1.0000,    49 µs/rev
    pypy            x_revs_x_added_x_copies               ac52eb7bbbb0 72e022663155 :      7 revs,   0.000112 s,   0.000117 s,  +0.000005 s, × 1.0446,    16 µs/rev
    pypy            x_revs_x00_added_x_copies             c3b14617fbd7 ace7255d9a26 :      1 revs,   0.000323 s,   0.6f1f4a s,  -0.000001 s, × 0.9969,   322 µs/rev
    pypy            x_revs_x000_added_x000_copies         df6f7a526b60 a83dc6a2d56f :      6 revs,   0.010042 s,   0.011856 s,  +0.001814 s, × 1.1806,  1976 µs/rev
    pypy            x000_revs_xx00_added_0_copies         89a76aede314 2f22446ff07e :   4785 revs,   0.049813 s,   0.050992 s,  +0.001179 s, × 1.0237,    10 µs/rev
    pypy            x000_revs_x000_added_x_copies         8a3b5bfd266e 2c68e87c3efe :   6780 revs,   0.079937 s,   0.087444 s,  +0.007507 s, × 1.0939,    12 µs/rev
    pypy            x000_revs_x000_added_x000_copies      89a76aede314 7b3dda341c84 :   5441 revs,   0.059412 s,   0.062487 s,  +0.003075 s, × 1.0518,    11 µs/rev
    pypy            x0000_revs_x_added_0_copies           d1defd0dc478 c9cb1334cc78 :  43645 revs,   0.533769 s,   0.634909 s,  +0.101140 s, × 1.1895,    14 µs/rev
    pypy            x0000_revs_xx000_added_0_copies       bf2c629d0071 4ffed77c095c :      2 revs,   0.013147 s,   0.013360 s,  +0.000213 s, × 1.0162,  6680 µs/rev
    pypy            x0000_revs_xx000_added_x000_copies    08ea3258278e d9fa043f30c0 :  11316 revs,   0.110680 s,   0.120775 s,  +0.010095 s, × 1.0912,    10 µs/rev
    netbeans        x_revs_x_added_0_copies               fb0955ffcbcd a01e9239f9e7 :      2 revs,   0.000085 s,   0.000085 s,  +0.000000 s, × 1.0000,    42 µs/rev
    netbeans        x_revs_x000_added_0_copies            6f360122949f 20eb231cc7d0 :      2 revs,   0.000107 s,   0.000108 s,  +0.000001 s, × 1.0093,    54 µs/rev
    netbeans        x_revs_x_added_x_copies               1ada3faf6fb6 5a39d12eecf4 :      3 revs,   0.000175 s,   0.000176 s,  +0.000001 s, × 1.0057,    58 µs/rev
    netbeans        x_revs_x00_added_x_copies             35be93ba1e2c 9eec5e90c05f :      9 revs,   0.000720 s,   0.000747 s,  +0.000027 s, × 1.0375,    83 µs/rev
    netbeans        x000_revs_xx00_added_0_copies         eac3045b4fdd 51d4ae7f1290 :   1421 revs,   0.010019 s,   0.010128 s,  +0.000109 s, × 1.0109,     7 µs/rev
    netbeans        x000_revs_x000_added_x_copies         e2063d266acd 6081d72689dc :   1533 revs,   0.015602 s,   0.015899 s,  +0.000297 s, × 1.0190,    10 µs/rev
    netbeans        x000_revs_x000_added_x000_copies      ff453e9fee32 411350406ec2 :   5750 revs,   0.058759 s,   0.062215 s,  +0.003456 s, × 1.0588,    10 µs/rev
    netbeans        x0000_revs_xx000_added_x000_copies    588c2d1ced70 1aad62e59ddd :  66949 revs,   0.491550 s,   0.521004 s,  +0.029454 s, × 1.0599,     7 µs/rev
    mozilla-central x_revs_x_added_0_copies               3697f962bb7b 7015fcdd43a2 :      2 revs,   0.000087 s,   0.000090 s,  +0.000003 s, × 1.0345,    45 µs/rev
    mozilla-central x_revs_x000_added_0_copies            dd390860c6c9 40d0c5bed75d :      8 revs,   0.000268 s,   0.000264 s,  -0.000004 s, × 0.9851,    33 µs/rev
    mozilla-central x_revs_x_added_x_copies               8d198483ae3b 14207ffc2b2f :      9 revs,   0.000181 s,   0.000186 s,  +0.000005 s, × 1.0276,    20 µs/rev
    mozilla-central x_revs_x00_added_x_copies             98cbc58cc6bc 446a150332c3 :      7 revs,   0.000661 s,   0.000660 s,  -0.000001 s, × 0.9985,    94 µs/rev
    mozilla-central x_revs_x000_added_x000_copies         3c684b4b8f68 0a5e72d1b479 :      3 revs,   0.003256 s,   0.003542 s,  +0.000286 s, × 1.0878,  1180 µs/rev
    mozilla-central x_revs_x0000_added_x0000_copies       effb563bb7e5 c07a39dc4e80 :      6 revs,   0.066749 s,   0.071574 s,  +0.004825 s, × 1.0723, 11929 µs/rev
    mozilla-central x000_revs_xx00_added_0_copies         6100d773079a 04a55431795e :   1593 revs,   0.006462 s,   0.006498 s,  +0.000036 s, × 1.0056,     4 µs/rev
    mozilla-central x000_revs_x000_added_x_copies         9f17a6fc04f9 2d37b966abed :     41 revs,   0.004919 s,   0.005206 s,  +0.000287 s, × 1.0583,   126 µs/rev
    mozilla-central x000_revs_x000_added_x000_copies      7c97034feb78 4407bd0c6330 :   7839 revs,   0.062421 s,   0.065535 s,  +0.003114 s, × 1.0499,     8 µs/rev
    mozilla-central x0000_revs_xx000_added_0_copies       9eec5917337d 67118cc6dcad :    615 revs,   0.026633 s,   0.027139 s,  +0.000506 s, × 1.0190,    44 µs/rev
    mozilla-central x0000_revs_xx000_added_x000_copies    f78c615a656c 96a38b690156 :  30263 revs,   0.197792 s,   0.201924 s,  +0.004132 s, × 1.0209,     6 µs/rev
    mozilla-central x00000_revs_x0000_added_x0000_copies  6832ae71433c 4c222a1d9a00 : 153721 revs,   1.259970 s,   1.257201 s,  -0.002769 s, × 0.9978,     8 µs/rev
    mozilla-central x00000_revs_x00000_added_x000_copies  76caed42cf7c 1daa622bbe42 : 204976 revs,   1.689184 s,   1.663045 s,  -0.026139 s, × 0.9845,     8 µs/rev
    mozilla-try     x_revs_x_added_0_copies               aaf6dde0deb8 9790f499805a :      2 revs,   0.000865 s,   0.000866 s,  +0.000001 s, × 1.0012,   433 µs/rev
    mozilla-try     x_revs_x000_added_0_copies            d8d0222927b4 5bb8ce8c7450 :      2 revs,   0.000893 s,   0.000883 s,  -0.000010 s, × 0.9888,   441 µs/rev
    mozilla-try     x_revs_x_added_x_copies               092fcca11bdb 936255a0384a :      4 revs,   0.000172 s,   0.000163 s,  -0.000009 s, × 0.9477,    40 µs/rev
    mozilla-try     x_revs_x00_added_x_copies             b53d2fadbdb5 017afae788ec :      2 revs,   0.001159 s,   0.001139 s,  -0.000020 s, × 0.9827,   569 µs/rev
    mozilla-try     x_revs_x000_added_x000_copies         20408ad61ce5 6f0ee96e21ad :      1 revs,   0.031621 s,   0.032753 s,  +0.001132 s, × 1.0358, 32752 µs/rev
    mozilla-try     x_revs_x0000_added_x0000_copies       effb563bb7e5 c07a39dc4e80 :      6 revs,   0.068571 s,   0.073266 s,  +0.004695 s, × 1.0685, 12211 µs/rev
    mozilla-try     x000_revs_xx00_added_0_copies         6100d773079a 04a55431795e :   1593 revs,   0.006452 s,   0.006567 s,  +0.000115 s, × 1.0178,     4 µs/rev
    mozilla-try     x000_revs_x000_added_x_copies         9f17a6fc04f9 2d37b966abed :     41 revs,   0.005443 s,   0.005427 s,  -0.000016 s, × 0.9971,   132 µs/rev
    mozilla-try     x000_revs_x000_added_x000_copies      1346fd0130e4 4c65cbdabc1f :   6657 revs,   0.063180 s,   0.064058 s,  +0.000878 s, × 1.0139,     9 µs/rev
    mozilla-try     x0000_revs_x_added_0_copies           63519bfd42ee a36a2a865d92 :  40314 revs,   0.293564 s,   0.303320 s,  +0.009756 s, × 1.0332,     7 µs/rev
    mozilla-try     x0000_revs_x_added_x_copies           9fe69ff0762d bcabf2a78927 :  38690 revs,   0.286595 s,   0.288456 s,  +0.001861 s, × 1.0065,     7 µs/rev
    mozilla-try     x0000_revs_xx000_added_x_copies       156f6e2674f2 4d0f2c178e66 :   8598 revs,   0.083256 s,   0.085925 s,  +0.002669 s, × 1.0321,     9 µs/rev
    mozilla-try     x0000_revs_xx000_added_0_copies       9eec5917337d 67118cc6dcad :    615 revs,   0.027282 s,   0.027302 s,  +0.000020 s, × 1.0007,    44 µs/rev
    mozilla-try     x0000_revs_xx000_added_x000_copies    89294cd501d9 7ccb2fc7ccb5 :  97052 revs,   1.343373 s,   2.034596 s,  +0.691223 s, × 1.5145,    20 µs/rev
    mozilla-try     x0000_revs_x0000_added_x0000_copies   e928c65095ed e951f4ad123a :  52031 revs,   0.665737 s,   0.694030 s,  +0.028293 s, × 1.0425,    13 µs/rev
    mozilla-try     x00000_revs_x_added_0_copies          6a320851d377 1ebb79acd503 : 363753 revs,   5.138169 s,   4.407723 s,  -0.730446 s, × 0.8578,    12 µs/rev
    mozilla-try     x00000_revs_x00000_added_0_copies     dc8a3ca7010e d16fde900c9c :  34414 revs,   0.573276 s,   0.574355 s,  +0.001079 s, × 1.0019,    16 µs/rev
    mozilla-try     x00000_revs_x_added_x_copies          5173c4b6f97c 95d83ee7242d : 362229 revs,   5.127809 s,   4.457827 s,  -0.669982 s, × 0.8693,    12 µs/rev
    mozilla-try     x00000_revs_x000_added_x_copies       9126823d0e9c ca82787bb23c : 359344 revs,   4.971136 s,   4.351696 s,  -0.619440 s, × 0.8754,    12 µs/rev
    mozilla-try     x00000_revs_x0000_added_x0000_copies  8d3fafa80d4b eb884023b810 : 192665 revs,   1.741678 s,   1.570065 s,  -0.171613 s, × 0.9015,     8 µs/rev
    mozilla-try     x00000_revs_x00000_added_x0000_copies 1b661134e2ca 1ae03d022d6d : 228985 revs,  40.314822 s,  80.828689 s, +40.513867 s, × 2.0049,   352 µs/rev
    mozilla-try     x00000_revs_x00000_added_x000_copies  9b2a99adc05e 8e29777b48e6 : 382065 revs,  20.048029 s,  34.094064 s, +14.046035 s, × 1.7006,    89 µs/rev
    private repo                                                                    : 459513 revs,  37.179470 s,  27.435529 s,  -9.743941 s, × 0.7379,    59 µs/rev
    
    This changeset compared to the filelog implementation:
    
    Repo            Case                                  Source-Rev   Dest-Rev      # of revisions  filelog    changesets    Difference    Factor    time per rev
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------
    mercurial       x_revs_x_added_0_copies               ad6b123de1c7 39cfcef4f463 :      1 revs,  0.000909 s,  0.000043 s,  -0.000866 s, × 0.047305,    42 µs/rev
    mercurial       x_revs_x_added_x_copies               2b1c78674230 0c1d10351869 :      6 revs,  0.001893 s,  0.000114 s,  -0.001779 s, × 0.060222,    18 µs/rev
    mercurial       x000_revs_x000_added_x_copies         81f8ff2a9bf2 dd3267698d84 :   1032 revs,  0.018889 s,  0.004899 s,  -0.013990 s, × 0.259357,     4 µs/rev
    pypy            x_revs_x_added_0_copies               aed021ee8ae8 099ed31b181b :      9 revs,  0.001543 s,  0.000196 s,  -0.001347 s, × 0.127025,    21 µs/rev
    pypy            x_revs_x000_added_0_copies            4aa4e1f8e19a 359343b9ac0e :      1 revs,  0.213044 s,  0.000049 s,  -0.212995 s, × 0.000230,    48 µs/rev
    pypy            x_revs_x_added_x_copies               ac52eb7bbbb0 72e022663155 :      7 revs,  0.017057 s,  0.000117 s,  -0.016940 s, × 0.006859,    16 µs/rev
    pypy            x_revs_x00_added_x_copies             c3b14617fbd7 ace7255d9a26 :      1 revs,  0.019469 s,  0.6f1f4a s,  -0.019147 s, × 0.016539,   321 µs/rev
    pypy            x_revs_x000_added_x000_copies         df6f7a526b60 a83dc6a2d56f :      6 revs,  0.777054 s,  0.011856 s,  -0.765198 s, × 0.015258,  1975 µs/rev
    pypy            x000_revs_xx00_added_0_copies         89a76aede314 2f22446ff07e :   4785 revs,  1.245308 s,  0.050992 s,  -1.194316 s, × 0.040947,    10 µs/rev
    pypy            x000_revs_x000_added_x_copies         8a3b5bfd266e 2c68e87c3efe :   6780 revs,  1.318585 s,  0.087444 s,  -1.231141 s, × 0.066317,    12 µs/rev
    pypy            x000_revs_x000_added_x000_copies      89a76aede314 7b3dda341c84 :   5441 revs,  1.687980 s,  0.062487 s,  -1.625493 s, × 0.037019,    11 µs/rev
    pypy            x0000_revs_x_added_0_copies           d1defd0dc478 c9cb1334cc78 :  43645 revs,  0.001122 s,  0.634909 s,  +0.633787 s, × 565.8725,    14 µs/rev
    pypy            x0000_revs_xx000_added_0_copies       bf2c629d0071 4ffed77c095c :      2 revs,  1.093774 s,  0.013360 s,  -1.080414 s, × 0.012215,  6676 µs/rev
    pypy            x0000_revs_xx000_added_x000_copies    08ea3258278e d9fa043f30c0 :  11316 revs,  1.358189 s,  0.120775 s,  -1.237414 s, × 0.088924,    10 µs/rev
    netbeans        x_revs_x_added_0_copies               fb0955ffcbcd a01e9239f9e7 :      2 revs,  0.028631 s,  0.000085 s,  -0.028546 s, × 0.002969,    42 µs/rev
    netbeans        x_revs_x000_added_0_copies            6f360122949f 20eb231cc7d0 :      2 revs,  0.132586 s,  0.000108 s,  -0.132478 s, × 0.000815,    53 µs/rev
    netbeans        x_revs_x_added_x_copies               1ada3faf6fb6 5a39d12eecf4 :      3 revs,  0.025738 s,  0.000176 s,  -0.025562 s, × 0.006838,    58 µs/rev
    netbeans        x_revs_x00_added_x_copies             35be93ba1e2c 9eec5e90c05f :      9 revs,  0.053665 s,  0.000747 s,  -0.052918 s, × 0.013920,    82 µs/rev
    netbeans        x000_revs_xx00_added_0_copies         eac3045b4fdd 51d4ae7f1290 :   1421 revs,  0.038179 s,  0.010128 s,  -0.028051 s, × 0.265277,     7 µs/rev
    netbeans        x000_revs_x000_added_x_copies         e2063d266acd 6081d72689dc :   1533 revs,  0.198514 s,  0.015899 s,  -0.182615 s, × 0.080090,    10 µs/rev
    netbeans        x000_revs_x000_added_x000_copies      ff453e9fee32 411350406ec2 :   5750 revs,  0.975439 s,  0.062215 s,  -0.913224 s, × 0.063782,    10 µs/rev
    netbeans        x0000_revs_xx000_added_x000_copies    588c2d1ced70 1aad62e59ddd :  66949 revs,  3.994686 s,  0.521004 s,  -3.473682 s, × 0.130424,     7 µs/rev
    mozilla-central x_revs_x_added_0_copies               3697f962bb7b 7015fcdd43a2 :      2 revs,  0.025611 s,  0.000090 s,  -0.025521 s, × 0.003514,    44 µs/rev
    mozilla-central x_revs_x000_added_0_copies            dd390860c6c9 40d0c5bed75d :      8 revs,  0.142615 s,  0.000264 s,  -0.142351 s, × 0.001851,    32 µs/rev
    mozilla-central x_revs_x_added_x_copies               8d198483ae3b 14207ffc2b2f :      9 revs,  0.025781 s,  0.000186 s,  -0.025595 s, × 0.007215,    20 µs/rev
    mozilla-central x_revs_x00_added_x_copies             98cbc58cc6bc 446a150332c3 :      7 revs,  0.086487 s,  0.000660 s,  -0.085827 s, × 0.007631,    94 µs/rev
    mozilla-central x_revs_x000_added_x000_copies         3c684b4b8f68 0a5e72d1b479 :      3 revs,  0.201326 s,  0.003542 s,  -0.197784 s, × 0.017593,  1180 µs/rev
    mozilla-central x_revs_x0000_added_x0000_copies       effb563bb7e5 c07a39dc4e80 :      6 revs,  2.196616 s,  0.071574 s,  -2.125042 s, × 0.032584, 11927 µs/rev
    mozilla-central x000_revs_xx00_added_0_copies         6100d773079a 04a55431795e :   1593 revs,  0.091538 s,  0.006498 s,  -0.085040 s, × 0.070987,     4 µs/rev
    mozilla-central x000_revs_x000_added_x_copies         9f17a6fc04f9 2d37b966abed :     41 revs,  0.763949 s,  0.005206 s,  -0.758743 s, × 0.006815,   126 µs/rev
    mozilla-central x000_revs_x000_added_x000_copies      7c97034feb78 4407bd0c6330 :   7839 revs,  1.177152 s,  0.065535 s,  -1.111617 s, × 0.055673,     8 µs/rev
    mozilla-central x0000_revs_xx000_added_0_copies       9eec5917337d 67118cc6dcad :    615 revs,  6.910472 s,  0.027139 s,  -6.883333 s, × 0.003927,    44 µs/rev
    mozilla-central x0000_revs_xx000_added_x000_copies    f78c615a656c 96a38b690156 :  30263 revs,  3.383959 s,  0.201924 s,  -3.182035 s, × 0.059671,     6 µs/rev
    mozilla-central x00000_revs_x0000_added_x0000_copies  6832ae71433c 4c222a1d9a00 : 153721 revs, 16.491238 s,  1.257201 s, -15.234037 s, × 0.076234,     8 µs/rev
    mozilla-central x00000_revs_x00000_added_x000_copies  76caed42cf7c 1daa622bbe42 : 204976 revs, 21.703589 s,  1.663045 s, -20.040544 s, × 0.076625,     8 µs/rev
    mozilla-try     x_revs_x_added_0_copies               aaf6dde0deb8 9790f499805a :      2 revs,  0.084351 s,  0.000866 s,  -0.083485 s, × 0.010267,   432 µs/rev
    mozilla-try     x_revs_x000_added_0_copies            d8d0222927b4 5bb8ce8c7450 :      2 revs,  0.515750 s,  0.000883 s,  -0.514867 s, × 0.001712,   441 µs/rev
    mozilla-try     x_revs_x_added_x_copies               092fcca11bdb 936255a0384a :      4 revs,  0.022181 s,  0.000163 s,  -0.022018 s, × 0.007349,    40 µs/rev
    mozilla-try     x_revs_x00_added_x_copies             b53d2fadbdb5 017afae788ec :      2 revs,  0.236836 s,  0.001139 s,  -0.235697 s, × 0.004809,   569 µs/rev
    mozilla-try     x_revs_x000_added_x000_copies         20408ad61ce5 6f0ee96e21ad :      1 revs,  1.131097 s,  0.032753 s,  -1.098344 s, × 0.028957, 32720 µs/rev
    mozilla-try     x_revs_x0000_added_x0000_copies       effb563bb7e5 c07a39dc4e80 :      6 revs,  2.236140 s,  0.073266 s,  -2.162874 s, × 0.032764, 12208 µs/rev
    mozilla-try     x000_revs_xx00_added_0_copies         6100d773079a 04a55431795e :   1593 revs,  0.091817 s,  0.006567 s,  -0.085250 s, × 0.071523,     4 µs/rev
    mozilla-try     x000_revs_x000_added_x_copies         9f17a6fc04f9 2d37b966abed :     41 revs,  0.779460 s,  0.005427 s,  -0.774033 s, × 0.006963,   132 µs/rev
    mozilla-try     x000_revs_x000_added_x000_copies      1346fd0130e4 4c65cbdabc1f :   6657 revs,  1.200397 s,  0.064058 s,  -1.136339 s, × 0.053364,     9 µs/rev
    mozilla-try     x0000_revs_x_added_0_copies           63519bfd42ee a36a2a865d92 :  40314 revs,  0.090726 s,  0.303320 s,  +0.212594 s, × 3.343253,     7 µs/rev
    mozilla-try     x0000_revs_x_added_x_copies           9fe69ff0762d bcabf2a78927 :  38690 revs,  0.084280 s,  0.288456 s,  +0.204176 s, × 3.422591,     7 µs/rev
    mozilla-try     x0000_revs_xx000_added_x_copies       156f6e2674f2 4d0f2c178e66 :   8598 revs,  7.757077 s,  0.085925 s,  -7.671152 s, × 0.011077,     9 µs/rev
    mozilla-try     x0000_revs_xx000_added_0_copies       9eec5917337d 67118cc6dcad :    615 revs,  6.957293 s,  0.027302 s,  -6.929991 s, × 0.003924,    44 µs/rev
    mozilla-try     x0000_revs_xx000_added_x000_copies    89294cd501d9 7ccb2fc7ccb5 :  97052 revs,  7.696381 s,  2.034596 s,  -5.661785 s, × 0.264357,    20 µs/rev
    mozilla-try     x0000_revs_x0000_added_x0000_copies   e928c65095ed e951f4ad123a :  52031 revs, 10.053537 s,  0.694030 s,  -9.359507 s, × 0.069033,    13 µs/rev
    mozilla-try     x00000_revs_x_added_0_copies          6a320851d377 1ebb79acd503 : 363753 revs,  0.094246 s,  4.407723 s,  +4.313477 s, × 46.76827,    12 µs/rev
    mozilla-try     x00000_revs_x00000_added_0_copies     dc8a3ca7010e d16fde900c9c :  34414 revs, 28.262093 s,  0.574355 s, -27.687738 s, × 0.020322,    16 µs/rev
    mozilla-try     x00000_revs_x_added_x_copies          5173c4b6f97c 95d83ee7242d : 362229 revs,  0.096164 s,  4.457827 s,  +4.361663 s, × 46.35650,    12 µs/rev
    mozilla-try     x00000_revs_x000_added_x_copies       9126823d0e9c ca82787bb23c : 359344 revs,  0.234998 s,  4.351696 s,  +4.116698 s, × 18.51801,    12 µs/rev
    mozilla-try     x00000_revs_x0000_added_x0000_copies  8d3fafa80d4b eb884023b810 : 192665 revs, 19.950246 s,  1.570065 s, -18.380181 s, × 0.078699,     8 µs/rev
    mozilla-try     x00000_revs_x00000_added_x0000_copies 1b661134e2ca 1ae03d022d6d : 228985 revs, 21.896385 s, 80.828689 s, +58.932304 s, × 3.691417,   352 µs/rev
    mozilla-try     x00000_revs_x00000_added_x000_copies  9b2a99adc05e 8e29777b48e6 : 382065 revs, 26.599082 s, 34.094064 s,  +7.494982 s, × 1.281776,    89 µs/rev
    private                                                                         : 459513 revs, 18.669706 s, 27.435529 s,  +8.765823 s, × 1.469521,    59 µs/rev
    0657045a607f
    History
    copies-rust: use simpler overwrite when value on both side are identical
    Pierre-Yves David authored
    If the value are the same, their "overwritten" set is the same and we don't need
    to combine them.
    
    
    It helps our slower cases
    
    Repo            Case                                  Source-Rev   Dest-Rev      # of revisions  old time    new time      Difference    Factor    time per rev
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------
    mozilla-try     x00000_revs_x00000_added_x0000_copies 1b661134e2ca 1ae03d022d6d : 228985 revs,  86.722016 s,  80.828689 s,  -5.893327 s, × 0.9320,   352 µs/rev
    mozilla-try     x00000_revs_x00000_added_x000_copies  9b2a99adc05e 8e29777b48e6 : 382065 revs,  35.113727 s,  34.094064 s,  -1.019663 s, × 0.9710,    89 µs/rev
    
    Below are three different benchmark comparing this changeset to:
    * the previous one,
    * the implementation based on `is_anscestors`,
    * the filelog copy tracing.
    
    
    This changeset compared to the previous one:
    
    Repo            Case                                  Source-Rev   Dest-Rev      # of revisions  old time    new time      Difference    Factor    time per rev
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------
    mercurial       x_revs_x_added_0_copies               ad6b123de1c7 39cfcef4f463 :      1 revs,   0.000043 s,   0.000043 s,  +0.000000 s, × 1.0000,    43 µs/rev
    mercurial       x_revs_x_added_x_copies               2b1c78674230 0c1d10351869 :      6 revs,   0.000114 s,   0.000114 s,  +0.000000 s, × 1.0000,    19 µs/rev
    mercurial       x000_revs_x000_added_x_copies         81f8ff2a9bf2 dd3267698d84 :   1032 revs,   0.004899 s,   0.004899 s,  +0.000000 s, × 1.0000,     4 µs/rev
    pypy            x_revs_x_added_0_copies               aed021ee8ae8 099ed31b181b :      9 revs,   0.000196 s,   0.000196 s,  +0.000000 s, × 1.0000,    21 µs/rev
    pypy            x_revs_x000_added_0_copies            4aa4e1f8e19a 359343b9ac0e :      1 revs,   0.000050 s,   0.000049 s,  -0.000001 s, × 0.9800,    49 µs/rev
    pypy            x_revs_x_added_x_copies               ac52eb7bbbb0 72e022663155 :      7 revs,   0.000125 s,   0.000117 s,  -0.000008 s, × 0.9360,    16 µs/rev
    pypy            x_revs_x00_added_x_copies             c3b14617fbd7 ace7255d9a26 :      1 revs,   0.000321 s,   0.6f1f4a s,  +0.000001 s, × 1.0031,   322 µs/rev
    pypy            x_revs_x000_added_x000_copies         df6f7a526b60 a83dc6a2d56f :      6 revs,   0.011948 s,   0.011856 s,  -0.000092 s, × 0.9923,  1976 µs/rev
    pypy            x000_revs_xx00_added_0_copies         89a76aede314 2f22446ff07e :   4785 revs,   0.051267 s,   0.050992 s,  -0.000275 s, × 0.9946,    10 µs/rev
    pypy            x000_revs_x000_added_x_copies         8a3b5bfd266e 2c68e87c3efe :   6780 revs,   0.087755 s,   0.087444 s,  -0.000311 s, × 0.9965,    12 µs/rev
    pypy            x000_revs_x000_added_x000_copies      89a76aede314 7b3dda341c84 :   5441 revs,   0.061818 s,   0.062487 s,  +0.000669 s, × 1.0108,    11 µs/rev
    pypy            x0000_revs_x_added_0_copies           d1defd0dc478 c9cb1334cc78 :  43645 revs,   0.634253 s,   0.634909 s,  +0.000656 s, × 1.0010,    14 µs/rev
    pypy            x0000_revs_xx000_added_0_copies       bf2c629d0071 4ffed77c095c :      2 revs,   0.013179 s,   0.013360 s,  +0.000181 s, × 1.0137,  6680 µs/rev
    pypy            x0000_revs_xx000_added_x000_copies    08ea3258278e d9fa043f30c0 :  11316 revs,   0.119643 s,   0.120775 s,  +0.001132 s, × 1.0095,    10 µs/rev
    netbeans        x_revs_x_added_0_copies               fb0955ffcbcd a01e9239f9e7 :      2 revs,   0.000085 s,   0.000085 s,  +0.000000 s, × 1.0000,    42 µs/rev
    netbeans        x_revs_x000_added_0_copies            6f360122949f 20eb231cc7d0 :      2 revs,   0.000107 s,   0.000108 s,  +0.000001 s, × 1.0093,    54 µs/rev
    netbeans        x_revs_x_added_x_copies               1ada3faf6fb6 5a39d12eecf4 :      3 revs,   0.000176 s,   0.000176 s,  +0.000000 s, × 1.0000,    58 µs/rev
    netbeans        x_revs_x00_added_x_copies             35be93ba1e2c 9eec5e90c05f :      9 revs,   0.000743 s,   0.000747 s,  +0.000004 s, × 1.0054,    83 µs/rev
    netbeans        x000_revs_xx00_added_0_copies         eac3045b4fdd 51d4ae7f1290 :   1421 revs,   0.010246 s,   0.010128 s,  -0.000118 s, × 0.9885,     7 µs/rev
    netbeans        x000_revs_x000_added_x_copies         e2063d266acd 6081d72689dc :   1533 revs,   0.015853 s,   0.015899 s,  +0.000046 s, × 1.0029,    10 µs/rev
    netbeans        x000_revs_x000_added_x000_copies      ff453e9fee32 411350406ec2 :   5750 revs,   0.062971 s,   0.062215 s,  -0.000756 s, × 0.9880,    10 µs/rev
    netbeans        x0000_revs_xx000_added_x000_copies    588c2d1ced70 1aad62e59ddd :  66949 revs,   0.518337 s,   0.521004 s,  +0.002667 s, × 1.0051,     7 µs/rev
    mozilla-central x_revs_x_added_0_copies               3697f962bb7b 7015fcdd43a2 :      2 revs,   0.000090 s,   0.000090 s,  +0.000000 s, × 1.0000,    45 µs/rev
    mozilla-central x_revs_x000_added_0_copies            dd390860c6c9 40d0c5bed75d :      8 revs,   0.000268 s,   0.000264 s,  -0.000004 s, × 0.9851,    33 µs/rev
    mozilla-central x_revs_x_added_x_copies               8d198483ae3b 14207ffc2b2f :      9 revs,   0.000187 s,   0.000186 s,  -0.000001 s, × 0.9947,    20 µs/rev
    mozilla-central x_revs_x00_added_x_copies             98cbc58cc6bc 446a150332c3 :      7 revs,   0.000661 s,   0.000660 s,  -0.000001 s, × 0.9985,    94 µs/rev
    mozilla-central x_revs_x000_added_x000_copies         3c684b4b8f68 0a5e72d1b479 :      3 revs,   0.003494 s,   0.003542 s,  +0.000048 s, × 1.0137,  1180 µs/rev
    mozilla-central x_revs_x0000_added_x0000_copies       effb563bb7e5 c07a39dc4e80 :      6 revs,   0.070509 s,   0.071574 s,  +0.001065 s, × 1.0151, 11929 µs/rev
    mozilla-central x000_revs_xx00_added_0_copies         6100d773079a 04a55431795e :   1593 revs,   0.006489 s,   0.006498 s,  +0.000009 s, × 1.0014,     4 µs/rev
    mozilla-central x000_revs_x000_added_x_copies         9f17a6fc04f9 2d37b966abed :     41 revs,   0.005070 s,   0.005206 s,  +0.000136 s, × 1.0268,   126 µs/rev
    mozilla-central x000_revs_x000_added_x000_copies      7c97034feb78 4407bd0c6330 :   7839 revs,   0.065241 s,   0.065535 s,  +0.000294 s, × 1.0045,     8 µs/rev
    mozilla-central x0000_revs_xx000_added_0_copies       9eec5917337d 67118cc6dcad :    615 revs,   0.027284 s,   0.027139 s,  -0.000145 s, × 0.9947,    44 µs/rev
    mozilla-central x0000_revs_xx000_added_x000_copies    f78c615a656c 96a38b690156 :  30263 revs,   0.203671 s,   0.201924 s,  -0.001747 s, × 0.9914,     6 µs/rev
    mozilla-central x00000_revs_x0000_added_x0000_copies  6832ae71433c 4c222a1d9a00 : 153721 revs,   1.239373 s,   1.257201 s,  +0.017828 s, × 1.0144,     8 µs/rev
    mozilla-central x00000_revs_x00000_added_x000_copies  76caed42cf7c 1daa622bbe42 : 204976 revs,   1.649803 s,   1.663045 s,  +0.013242 s, × 1.0080,     8 µs/rev
    mozilla-try     x_revs_x_added_0_copies               aaf6dde0deb8 9790f499805a :      2 revs,   0.000868 s,   0.000866 s,  -0.000002 s, × 0.9977,   433 µs/rev
    mozilla-try     x_revs_x000_added_0_copies            d8d0222927b4 5bb8ce8c7450 :      2 revs,   0.000885 s,   0.000883 s,  -0.000002 s, × 0.9977,   441 µs/rev
    mozilla-try     x_revs_x_added_x_copies               092fcca11bdb 936255a0384a :      4 revs,   0.000165 s,   0.000163 s,  -0.000002 s, × 0.9879,    40 µs/rev
    mozilla-try     x_revs_x00_added_x_copies             b53d2fadbdb5 017afae788ec :      2 revs,   0.001147 s,   0.001139 s,  -0.000008 s, × 0.9930,   569 µs/rev
    mozilla-try     x_revs_x000_added_x000_copies         20408ad61ce5 6f0ee96e21ad :      1 revs,   0.032885 s,   0.032753 s,  -0.000132 s, × 0.9960, 32752 µs/rev
    mozilla-try     x_revs_x0000_added_x0000_copies       effb563bb7e5 c07a39dc4e80 :      6 revs,   0.071304 s,   0.073266 s,  +0.001962 s, × 1.0275, 12211 µs/rev
    mozilla-try     x000_revs_xx00_added_0_copies         6100d773079a 04a55431795e :   1593 revs,   0.006506 s,   0.006567 s,  +0.000061 s, × 1.0094,     4 µs/rev
    mozilla-try     x000_revs_x000_added_x_copies         9f17a6fc04f9 2d37b966abed :     41 revs,   0.005486 s,   0.005427 s,  -0.000059 s, × 0.9892,   132 µs/rev
    mozilla-try     x000_revs_x000_added_x000_copies      1346fd0130e4 4c65cbdabc1f :   6657 revs,   0.064677 s,   0.064058 s,  -0.000619 s, × 0.9904,     9 µs/rev
    mozilla-try     x0000_revs_x_added_0_copies           63519bfd42ee a36a2a865d92 :  40314 revs,   0.306000 s,   0.303320 s,  -0.002680 s, × 0.9912,     7 µs/rev
    mozilla-try     x0000_revs_x_added_x_copies           9fe69ff0762d bcabf2a78927 :  38690 revs,   0.288217 s,   0.288456 s,  +0.000239 s, × 1.0008,     7 µs/rev
    mozilla-try     x0000_revs_xx000_added_x_copies       156f6e2674f2 4d0f2c178e66 :   8598 revs,   0.086117 s,   0.085925 s,  -0.000192 s, × 0.9978,     9 µs/rev
    mozilla-try     x0000_revs_xx000_added_0_copies       9eec5917337d 67118cc6dcad :    615 revs,   0.027512 s,   0.027302 s,  -0.000210 s, × 0.9924,    44 µs/rev
    mozilla-try     x0000_revs_xx000_added_x000_copies    89294cd501d9 7ccb2fc7ccb5 :  97052 revs,   1.998239 s,   2.034596 s,  +0.036357 s, × 1.0182,    20 µs/rev
    mozilla-try     x0000_revs_x0000_added_x0000_copies   e928c65095ed e951f4ad123a :  52031 revs,   0.688201 s,   0.694030 s,  +0.005829 s, × 1.0085,    13 µs/rev
    mozilla-try     x00000_revs_x_added_0_copies          6a320851d377 1ebb79acd503 : 363753 revs,   4.389428 s,   4.407723 s,  +0.018295 s, × 1.0042,    12 µs/rev
    mozilla-try     x00000_revs_x00000_added_0_copies     dc8a3ca7010e d16fde900c9c :  34414 revs,   0.578736 s,   0.574355 s,  -0.004381 s, × 0.9924,    16 µs/rev
    mozilla-try     x00000_revs_x_added_x_copies          5173c4b6f97c 95d83ee7242d : 362229 revs,   4.363599 s,   4.457827 s,  +0.094228 s, × 1.0216,    12 µs/rev
    mozilla-try     x00000_revs_x000_added_x_copies       9126823d0e9c ca82787bb23c : 359344 revs,   4.324129 s,   4.351696 s,  +0.027567 s, × 1.0064,    12 µs/rev
    mozilla-try     x00000_revs_x0000_added_x0000_copies  8d3fafa80d4b eb884023b810 : 192665 revs,   1.565727 s,   1.570065 s,  +0.004338 s, × 1.0028,     8 µs/rev
    obfuscated-jane worst-case                            9b3bd6a35837 fae875e6ab31 : 459513 revs,  27.397070 s,  27.435529 s,  +0.038459 s, × 1.0014,    59 µs/rev
    
    
    
    
    This changeset compared to implementation based on `is_anscestors`:
    
    Repo            Case                                  Source-Rev   Dest-Rev      # of revisions  old time    new time      Difference    Factor    time per rev
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------
    mercurial       x_revs_x_added_0_copies               ad6b123de1c7 39cfcef4f463 :      1 revs,   0.000042 s,   0.000043 s,  +0.000001 s, × 1.0238,    43 µs/rev
    mercurial       x_revs_x_added_x_copies               2b1c78674230 0c1d10351869 :      6 revs,   0.000110 s,   0.000114 s,  +0.000004 s, × 1.0364,    19 µs/rev
    mercurial       x000_revs_x000_added_x_copies         81f8ff2a9bf2 dd3267698d84 :   1032 revs,   0.004945 s,   0.004899 s,  -0.000046 s, × 0.9907,     4 µs/rev
    pypy            x_revs_x_added_0_copies               aed021ee8ae8 099ed31b181b :      9 revs,   0.000192 s,   0.000196 s,  +0.000004 s, × 1.0208,    21 µs/rev
    pypy            x_revs_x000_added_0_copies            4aa4e1f8e19a 359343b9ac0e :      1 revs,   0.000049 s,   0.000049 s,  +0.000000 s, × 1.0000,    49 µs/rev
    pypy            x_revs_x_added_x_copies               ac52eb7bbbb0 72e022663155 :      7 revs,   0.000112 s,   0.000117 s,  +0.000005 s, × 1.0446,    16 µs/rev
    pypy            x_revs_x00_added_x_copies             c3b14617fbd7 ace7255d9a26 :      1 revs,   0.000323 s,   0.6f1f4a s,  -0.000001 s, × 0.9969,   322 µs/rev
    pypy            x_revs_x000_added_x000_copies         df6f7a526b60 a83dc6a2d56f :      6 revs,   0.010042 s,   0.011856 s,  +0.001814 s, × 1.1806,  1976 µs/rev
    pypy            x000_revs_xx00_added_0_copies         89a76aede314 2f22446ff07e :   4785 revs,   0.049813 s,   0.050992 s,  +0.001179 s, × 1.0237,    10 µs/rev
    pypy            x000_revs_x000_added_x_copies         8a3b5bfd266e 2c68e87c3efe :   6780 revs,   0.079937 s,   0.087444 s,  +0.007507 s, × 1.0939,    12 µs/rev
    pypy            x000_revs_x000_added_x000_copies      89a76aede314 7b3dda341c84 :   5441 revs,   0.059412 s,   0.062487 s,  +0.003075 s, × 1.0518,    11 µs/rev
    pypy            x0000_revs_x_added_0_copies           d1defd0dc478 c9cb1334cc78 :  43645 revs,   0.533769 s,   0.634909 s,  +0.101140 s, × 1.1895,    14 µs/rev
    pypy            x0000_revs_xx000_added_0_copies       bf2c629d0071 4ffed77c095c :      2 revs,   0.013147 s,   0.013360 s,  +0.000213 s, × 1.0162,  6680 µs/rev
    pypy            x0000_revs_xx000_added_x000_copies    08ea3258278e d9fa043f30c0 :  11316 revs,   0.110680 s,   0.120775 s,  +0.010095 s, × 1.0912,    10 µs/rev
    netbeans        x_revs_x_added_0_copies               fb0955ffcbcd a01e9239f9e7 :      2 revs,   0.000085 s,   0.000085 s,  +0.000000 s, × 1.0000,    42 µs/rev
    netbeans        x_revs_x000_added_0_copies            6f360122949f 20eb231cc7d0 :      2 revs,   0.000107 s,   0.000108 s,  +0.000001 s, × 1.0093,    54 µs/rev
    netbeans        x_revs_x_added_x_copies               1ada3faf6fb6 5a39d12eecf4 :      3 revs,   0.000175 s,   0.000176 s,  +0.000001 s, × 1.0057,    58 µs/rev
    netbeans        x_revs_x00_added_x_copies             35be93ba1e2c 9eec5e90c05f :      9 revs,   0.000720 s,   0.000747 s,  +0.000027 s, × 1.0375,    83 µs/rev
    netbeans        x000_revs_xx00_added_0_copies         eac3045b4fdd 51d4ae7f1290 :   1421 revs,   0.010019 s,   0.010128 s,  +0.000109 s, × 1.0109,     7 µs/rev
    netbeans        x000_revs_x000_added_x_copies         e2063d266acd 6081d72689dc :   1533 revs,   0.015602 s,   0.015899 s,  +0.000297 s, × 1.0190,    10 µs/rev
    netbeans        x000_revs_x000_added_x000_copies      ff453e9fee32 411350406ec2 :   5750 revs,   0.058759 s,   0.062215 s,  +0.003456 s, × 1.0588,    10 µs/rev
    netbeans        x0000_revs_xx000_added_x000_copies    588c2d1ced70 1aad62e59ddd :  66949 revs,   0.491550 s,   0.521004 s,  +0.029454 s, × 1.0599,     7 µs/rev
    mozilla-central x_revs_x_added_0_copies               3697f962bb7b 7015fcdd43a2 :      2 revs,   0.000087 s,   0.000090 s,  +0.000003 s, × 1.0345,    45 µs/rev
    mozilla-central x_revs_x000_added_0_copies            dd390860c6c9 40d0c5bed75d :      8 revs,   0.000268 s,   0.000264 s,  -0.000004 s, × 0.9851,    33 µs/rev
    mozilla-central x_revs_x_added_x_copies               8d198483ae3b 14207ffc2b2f :      9 revs,   0.000181 s,   0.000186 s,  +0.000005 s, × 1.0276,    20 µs/rev
    mozilla-central x_revs_x00_added_x_copies             98cbc58cc6bc 446a150332c3 :      7 revs,   0.000661 s,   0.000660 s,  -0.000001 s, × 0.9985,    94 µs/rev
    mozilla-central x_revs_x000_added_x000_copies         3c684b4b8f68 0a5e72d1b479 :      3 revs,   0.003256 s,   0.003542 s,  +0.000286 s, × 1.0878,  1180 µs/rev
    mozilla-central x_revs_x0000_added_x0000_copies       effb563bb7e5 c07a39dc4e80 :      6 revs,   0.066749 s,   0.071574 s,  +0.004825 s, × 1.0723, 11929 µs/rev
    mozilla-central x000_revs_xx00_added_0_copies         6100d773079a 04a55431795e :   1593 revs,   0.006462 s,   0.006498 s,  +0.000036 s, × 1.0056,     4 µs/rev
    mozilla-central x000_revs_x000_added_x_copies         9f17a6fc04f9 2d37b966abed :     41 revs,   0.004919 s,   0.005206 s,  +0.000287 s, × 1.0583,   126 µs/rev
    mozilla-central x000_revs_x000_added_x000_copies      7c97034feb78 4407bd0c6330 :   7839 revs,   0.062421 s,   0.065535 s,  +0.003114 s, × 1.0499,     8 µs/rev
    mozilla-central x0000_revs_xx000_added_0_copies       9eec5917337d 67118cc6dcad :    615 revs,   0.026633 s,   0.027139 s,  +0.000506 s, × 1.0190,    44 µs/rev
    mozilla-central x0000_revs_xx000_added_x000_copies    f78c615a656c 96a38b690156 :  30263 revs,   0.197792 s,   0.201924 s,  +0.004132 s, × 1.0209,     6 µs/rev
    mozilla-central x00000_revs_x0000_added_x0000_copies  6832ae71433c 4c222a1d9a00 : 153721 revs,   1.259970 s,   1.257201 s,  -0.002769 s, × 0.9978,     8 µs/rev
    mozilla-central x00000_revs_x00000_added_x000_copies  76caed42cf7c 1daa622bbe42 : 204976 revs,   1.689184 s,   1.663045 s,  -0.026139 s, × 0.9845,     8 µs/rev
    mozilla-try     x_revs_x_added_0_copies               aaf6dde0deb8 9790f499805a :      2 revs,   0.000865 s,   0.000866 s,  +0.000001 s, × 1.0012,   433 µs/rev
    mozilla-try     x_revs_x000_added_0_copies            d8d0222927b4 5bb8ce8c7450 :      2 revs,   0.000893 s,   0.000883 s,  -0.000010 s, × 0.9888,   441 µs/rev
    mozilla-try     x_revs_x_added_x_copies               092fcca11bdb 936255a0384a :      4 revs,   0.000172 s,   0.000163 s,  -0.000009 s, × 0.9477,    40 µs/rev
    mozilla-try     x_revs_x00_added_x_copies             b53d2fadbdb5 017afae788ec :      2 revs,   0.001159 s,   0.001139 s,  -0.000020 s, × 0.9827,   569 µs/rev
    mozilla-try     x_revs_x000_added_x000_copies         20408ad61ce5 6f0ee96e21ad :      1 revs,   0.031621 s,   0.032753 s,  +0.001132 s, × 1.0358, 32752 µs/rev
    mozilla-try     x_revs_x0000_added_x0000_copies       effb563bb7e5 c07a39dc4e80 :      6 revs,   0.068571 s,   0.073266 s,  +0.004695 s, × 1.0685, 12211 µs/rev
    mozilla-try     x000_revs_xx00_added_0_copies         6100d773079a 04a55431795e :   1593 revs,   0.006452 s,   0.006567 s,  +0.000115 s, × 1.0178,     4 µs/rev
    mozilla-try     x000_revs_x000_added_x_copies         9f17a6fc04f9 2d37b966abed :     41 revs,   0.005443 s,   0.005427 s,  -0.000016 s, × 0.9971,   132 µs/rev
    mozilla-try     x000_revs_x000_added_x000_copies      1346fd0130e4 4c65cbdabc1f :   6657 revs,   0.063180 s,   0.064058 s,  +0.000878 s, × 1.0139,     9 µs/rev
    mozilla-try     x0000_revs_x_added_0_copies           63519bfd42ee a36a2a865d92 :  40314 revs,   0.293564 s,   0.303320 s,  +0.009756 s, × 1.0332,     7 µs/rev
    mozilla-try     x0000_revs_x_added_x_copies           9fe69ff0762d bcabf2a78927 :  38690 revs,   0.286595 s,   0.288456 s,  +0.001861 s, × 1.0065,     7 µs/rev
    mozilla-try     x0000_revs_xx000_added_x_copies       156f6e2674f2 4d0f2c178e66 :   8598 revs,   0.083256 s,   0.085925 s,  +0.002669 s, × 1.0321,     9 µs/rev
    mozilla-try     x0000_revs_xx000_added_0_copies       9eec5917337d 67118cc6dcad :    615 revs,   0.027282 s,   0.027302 s,  +0.000020 s, × 1.0007,    44 µs/rev
    mozilla-try     x0000_revs_xx000_added_x000_copies    89294cd501d9 7ccb2fc7ccb5 :  97052 revs,   1.343373 s,   2.034596 s,  +0.691223 s, × 1.5145,    20 µs/rev
    mozilla-try     x0000_revs_x0000_added_x0000_copies   e928c65095ed e951f4ad123a :  52031 revs,   0.665737 s,   0.694030 s,  +0.028293 s, × 1.0425,    13 µs/rev
    mozilla-try     x00000_revs_x_added_0_copies          6a320851d377 1ebb79acd503 : 363753 revs,   5.138169 s,   4.407723 s,  -0.730446 s, × 0.8578,    12 µs/rev
    mozilla-try     x00000_revs_x00000_added_0_copies     dc8a3ca7010e d16fde900c9c :  34414 revs,   0.573276 s,   0.574355 s,  +0.001079 s, × 1.0019,    16 µs/rev
    mozilla-try     x00000_revs_x_added_x_copies          5173c4b6f97c 95d83ee7242d : 362229 revs,   5.127809 s,   4.457827 s,  -0.669982 s, × 0.8693,    12 µs/rev
    mozilla-try     x00000_revs_x000_added_x_copies       9126823d0e9c ca82787bb23c : 359344 revs,   4.971136 s,   4.351696 s,  -0.619440 s, × 0.8754,    12 µs/rev
    mozilla-try     x00000_revs_x0000_added_x0000_copies  8d3fafa80d4b eb884023b810 : 192665 revs,   1.741678 s,   1.570065 s,  -0.171613 s, × 0.9015,     8 µs/rev
    mozilla-try     x00000_revs_x00000_added_x0000_copies 1b661134e2ca 1ae03d022d6d : 228985 revs,  40.314822 s,  80.828689 s, +40.513867 s, × 2.0049,   352 µs/rev
    mozilla-try     x00000_revs_x00000_added_x000_copies  9b2a99adc05e 8e29777b48e6 : 382065 revs,  20.048029 s,  34.094064 s, +14.046035 s, × 1.7006,    89 µs/rev
    private repo                                                                    : 459513 revs,  37.179470 s,  27.435529 s,  -9.743941 s, × 0.7379,    59 µs/rev
    
    This changeset compared to the filelog implementation:
    
    Repo            Case                                  Source-Rev   Dest-Rev      # of revisions  filelog    changesets    Difference    Factor    time per rev
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------
    mercurial       x_revs_x_added_0_copies               ad6b123de1c7 39cfcef4f463 :      1 revs,  0.000909 s,  0.000043 s,  -0.000866 s, × 0.047305,    42 µs/rev
    mercurial       x_revs_x_added_x_copies               2b1c78674230 0c1d10351869 :      6 revs,  0.001893 s,  0.000114 s,  -0.001779 s, × 0.060222,    18 µs/rev
    mercurial       x000_revs_x000_added_x_copies         81f8ff2a9bf2 dd3267698d84 :   1032 revs,  0.018889 s,  0.004899 s,  -0.013990 s, × 0.259357,     4 µs/rev
    pypy            x_revs_x_added_0_copies               aed021ee8ae8 099ed31b181b :      9 revs,  0.001543 s,  0.000196 s,  -0.001347 s, × 0.127025,    21 µs/rev
    pypy            x_revs_x000_added_0_copies            4aa4e1f8e19a 359343b9ac0e :      1 revs,  0.213044 s,  0.000049 s,  -0.212995 s, × 0.000230,    48 µs/rev
    pypy            x_revs_x_added_x_copies               ac52eb7bbbb0 72e022663155 :      7 revs,  0.017057 s,  0.000117 s,  -0.016940 s, × 0.006859,    16 µs/rev
    pypy            x_revs_x00_added_x_copies             c3b14617fbd7 ace7255d9a26 :      1 revs,  0.019469 s,  0.6f1f4a s,  -0.019147 s, × 0.016539,   321 µs/rev
    pypy            x_revs_x000_added_x000_copies         df6f7a526b60 a83dc6a2d56f :      6 revs,  0.777054 s,  0.011856 s,  -0.765198 s, × 0.015258,  1975 µs/rev
    pypy            x000_revs_xx00_added_0_copies         89a76aede314 2f22446ff07e :   4785 revs,  1.245308 s,  0.050992 s,  -1.194316 s, × 0.040947,    10 µs/rev
    pypy            x000_revs_x000_added_x_copies         8a3b5bfd266e 2c68e87c3efe :   6780 revs,  1.318585 s,  0.087444 s,  -1.231141 s, × 0.066317,    12 µs/rev
    pypy            x000_revs_x000_added_x000_copies      89a76aede314 7b3dda341c84 :   5441 revs,  1.687980 s,  0.062487 s,  -1.625493 s, × 0.037019,    11 µs/rev
    pypy            x0000_revs_x_added_0_copies           d1defd0dc478 c9cb1334cc78 :  43645 revs,  0.001122 s,  0.634909 s,  +0.633787 s, × 565.8725,    14 µs/rev
    pypy            x0000_revs_xx000_added_0_copies       bf2c629d0071 4ffed77c095c :      2 revs,  1.093774 s,  0.013360 s,  -1.080414 s, × 0.012215,  6676 µs/rev
    pypy            x0000_revs_xx000_added_x000_copies    08ea3258278e d9fa043f30c0 :  11316 revs,  1.358189 s,  0.120775 s,  -1.237414 s, × 0.088924,    10 µs/rev
    netbeans        x_revs_x_added_0_copies               fb0955ffcbcd a01e9239f9e7 :      2 revs,  0.028631 s,  0.000085 s,  -0.028546 s, × 0.002969,    42 µs/rev
    netbeans        x_revs_x000_added_0_copies            6f360122949f 20eb231cc7d0 :      2 revs,  0.132586 s,  0.000108 s,  -0.132478 s, × 0.000815,    53 µs/rev
    netbeans        x_revs_x_added_x_copies               1ada3faf6fb6 5a39d12eecf4 :      3 revs,  0.025738 s,  0.000176 s,  -0.025562 s, × 0.006838,    58 µs/rev
    netbeans        x_revs_x00_added_x_copies             35be93ba1e2c 9eec5e90c05f :      9 revs,  0.053665 s,  0.000747 s,  -0.052918 s, × 0.013920,    82 µs/rev
    netbeans        x000_revs_xx00_added_0_copies         eac3045b4fdd 51d4ae7f1290 :   1421 revs,  0.038179 s,  0.010128 s,  -0.028051 s, × 0.265277,     7 µs/rev
    netbeans        x000_revs_x000_added_x_copies         e2063d266acd 6081d72689dc :   1533 revs,  0.198514 s,  0.015899 s,  -0.182615 s, × 0.080090,    10 µs/rev
    netbeans        x000_revs_x000_added_x000_copies      ff453e9fee32 411350406ec2 :   5750 revs,  0.975439 s,  0.062215 s,  -0.913224 s, × 0.063782,    10 µs/rev
    netbeans        x0000_revs_xx000_added_x000_copies    588c2d1ced70 1aad62e59ddd :  66949 revs,  3.994686 s,  0.521004 s,  -3.473682 s, × 0.130424,     7 µs/rev
    mozilla-central x_revs_x_added_0_copies               3697f962bb7b 7015fcdd43a2 :      2 revs,  0.025611 s,  0.000090 s,  -0.025521 s, × 0.003514,    44 µs/rev
    mozilla-central x_revs_x000_added_0_copies            dd390860c6c9 40d0c5bed75d :      8 revs,  0.142615 s,  0.000264 s,  -0.142351 s, × 0.001851,    32 µs/rev
    mozilla-central x_revs_x_added_x_copies               8d198483ae3b 14207ffc2b2f :      9 revs,  0.025781 s,  0.000186 s,  -0.025595 s, × 0.007215,    20 µs/rev
    mozilla-central x_revs_x00_added_x_copies             98cbc58cc6bc 446a150332c3 :      7 revs,  0.086487 s,  0.000660 s,  -0.085827 s, × 0.007631,    94 µs/rev
    mozilla-central x_revs_x000_added_x000_copies         3c684b4b8f68 0a5e72d1b479 :      3 revs,  0.201326 s,  0.003542 s,  -0.197784 s, × 0.017593,  1180 µs/rev
    mozilla-central x_revs_x0000_added_x0000_copies       effb563bb7e5 c07a39dc4e80 :      6 revs,  2.196616 s,  0.071574 s,  -2.125042 s, × 0.032584, 11927 µs/rev
    mozilla-central x000_revs_xx00_added_0_copies         6100d773079a 04a55431795e :   1593 revs,  0.091538 s,  0.006498 s,  -0.085040 s, × 0.070987,     4 µs/rev
    mozilla-central x000_revs_x000_added_x_copies         9f17a6fc04f9 2d37b966abed :     41 revs,  0.763949 s,  0.005206 s,  -0.758743 s, × 0.006815,   126 µs/rev
    mozilla-central x000_revs_x000_added_x000_copies      7c97034feb78 4407bd0c6330 :   7839 revs,  1.177152 s,  0.065535 s,  -1.111617 s, × 0.055673,     8 µs/rev
    mozilla-central x0000_revs_xx000_added_0_copies       9eec5917337d 67118cc6dcad :    615 revs,  6.910472 s,  0.027139 s,  -6.883333 s, × 0.003927,    44 µs/rev
    mozilla-central x0000_revs_xx000_added_x000_copies    f78c615a656c 96a38b690156 :  30263 revs,  3.383959 s,  0.201924 s,  -3.182035 s, × 0.059671,     6 µs/rev
    mozilla-central x00000_revs_x0000_added_x0000_copies  6832ae71433c 4c222a1d9a00 : 153721 revs, 16.491238 s,  1.257201 s, -15.234037 s, × 0.076234,     8 µs/rev
    mozilla-central x00000_revs_x00000_added_x000_copies  76caed42cf7c 1daa622bbe42 : 204976 revs, 21.703589 s,  1.663045 s, -20.040544 s, × 0.076625,     8 µs/rev
    mozilla-try     x_revs_x_added_0_copies               aaf6dde0deb8 9790f499805a :      2 revs,  0.084351 s,  0.000866 s,  -0.083485 s, × 0.010267,   432 µs/rev
    mozilla-try     x_revs_x000_added_0_copies            d8d0222927b4 5bb8ce8c7450 :      2 revs,  0.515750 s,  0.000883 s,  -0.514867 s, × 0.001712,   441 µs/rev
    mozilla-try     x_revs_x_added_x_copies               092fcca11bdb 936255a0384a :      4 revs,  0.022181 s,  0.000163 s,  -0.022018 s, × 0.007349,    40 µs/rev
    mozilla-try     x_revs_x00_added_x_copies             b53d2fadbdb5 017afae788ec :      2 revs,  0.236836 s,  0.001139 s,  -0.235697 s, × 0.004809,   569 µs/rev
    mozilla-try     x_revs_x000_added_x000_copies         20408ad61ce5 6f0ee96e21ad :      1 revs,  1.131097 s,  0.032753 s,  -1.098344 s, × 0.028957, 32720 µs/rev
    mozilla-try     x_revs_x0000_added_x0000_copies       effb563bb7e5 c07a39dc4e80 :      6 revs,  2.236140 s,  0.073266 s,  -2.162874 s, × 0.032764, 12208 µs/rev
    mozilla-try     x000_revs_xx00_added_0_copies         6100d773079a 04a55431795e :   1593 revs,  0.091817 s,  0.006567 s,  -0.085250 s, × 0.071523,     4 µs/rev
    mozilla-try     x000_revs_x000_added_x_copies         9f17a6fc04f9 2d37b966abed :     41 revs,  0.779460 s,  0.005427 s,  -0.774033 s, × 0.006963,   132 µs/rev
    mozilla-try     x000_revs_x000_added_x000_copies      1346fd0130e4 4c65cbdabc1f :   6657 revs,  1.200397 s,  0.064058 s,  -1.136339 s, × 0.053364,     9 µs/rev
    mozilla-try     x0000_revs_x_added_0_copies           63519bfd42ee a36a2a865d92 :  40314 revs,  0.090726 s,  0.303320 s,  +0.212594 s, × 3.343253,     7 µs/rev
    mozilla-try     x0000_revs_x_added_x_copies           9fe69ff0762d bcabf2a78927 :  38690 revs,  0.084280 s,  0.288456 s,  +0.204176 s, × 3.422591,     7 µs/rev
    mozilla-try     x0000_revs_xx000_added_x_copies       156f6e2674f2 4d0f2c178e66 :   8598 revs,  7.757077 s,  0.085925 s,  -7.671152 s, × 0.011077,     9 µs/rev
    mozilla-try     x0000_revs_xx000_added_0_copies       9eec5917337d 67118cc6dcad :    615 revs,  6.957293 s,  0.027302 s,  -6.929991 s, × 0.003924,    44 µs/rev
    mozilla-try     x0000_revs_xx000_added_x000_copies    89294cd501d9 7ccb2fc7ccb5 :  97052 revs,  7.696381 s,  2.034596 s,  -5.661785 s, × 0.264357,    20 µs/rev
    mozilla-try     x0000_revs_x0000_added_x0000_copies   e928c65095ed e951f4ad123a :  52031 revs, 10.053537 s,  0.694030 s,  -9.359507 s, × 0.069033,    13 µs/rev
    mozilla-try     x00000_revs_x_added_0_copies          6a320851d377 1ebb79acd503 : 363753 revs,  0.094246 s,  4.407723 s,  +4.313477 s, × 46.76827,    12 µs/rev
    mozilla-try     x00000_revs_x00000_added_0_copies     dc8a3ca7010e d16fde900c9c :  34414 revs, 28.262093 s,  0.574355 s, -27.687738 s, × 0.020322,    16 µs/rev
    mozilla-try     x00000_revs_x_added_x_copies          5173c4b6f97c 95d83ee7242d : 362229 revs,  0.096164 s,  4.457827 s,  +4.361663 s, × 46.35650,    12 µs/rev
    mozilla-try     x00000_revs_x000_added_x_copies       9126823d0e9c ca82787bb23c : 359344 revs,  0.234998 s,  4.351696 s,  +4.116698 s, × 18.51801,    12 µs/rev
    mozilla-try     x00000_revs_x0000_added_x0000_copies  8d3fafa80d4b eb884023b810 : 192665 revs, 19.950246 s,  1.570065 s, -18.380181 s, × 0.078699,     8 µs/rev
    mozilla-try     x00000_revs_x00000_added_x0000_copies 1b661134e2ca 1ae03d022d6d : 228985 revs, 21.896385 s, 80.828689 s, +58.932304 s, × 3.691417,   352 µs/rev
    mozilla-try     x00000_revs_x00000_added_x000_copies  9b2a99adc05e 8e29777b48e6 : 382065 revs, 26.599082 s, 34.094064 s,  +7.494982 s, × 1.281776,    89 µs/rev
    private                                                                         : 459513 revs, 18.669706 s, 27.435529 s,  +8.765823 s, × 1.469521,    59 µs/rev