<div dir="ltr"><br><br><div class="gmail_quote">On Fri, Feb 27, 2015 at 5:08 PM Durham Goode <<a href="mailto:durham@fb.com">durham@fb.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On 2/27/15, 2:46 PM, "Martin von Zweigbergk" <<a href="mailto:martinvonz@google.com" target="_blank">martinvonz@google.com</a>> wrote:<br>
<br>
># HG changeset patch<br>
># User Martin von Zweigbergk <<a href="mailto:martinvonz@google.com" target="_blank">martinvonz@google.com</a>><br>
># Date 1425074581 28800<br>
>#      Fri Feb 27 14:03:01 2015 -0800<br>
># Node ID b3bcf58446fdebf3672edbbc55c245<u></u>09e549eb22<br>
># Parent  89f810fb00184d3a1dd49412d0c325<u></u>6a596ddca8<br>
>copies: calculate 'bothnew' from manifestdict.filesnotin()<br>
><br>
>In the same spirit as the previous change, let's now calculate the<br>
>'bothnew' variable using manifestdict.filesnotin().5D<br>
><br>
>diff -r 89f810fb0018 -r b3bcf58446fd mercurial/copies.py<br>
>--- a/mercurial/copies.py      Fri Feb 27 14:02:30 2015 -0800<br>
>+++ b/mercurial/copies.py      Fri Feb 27 14:03:01 2015 -0800<br>
>@@ -302,7 +302,9 @@<br>
>         else:<br>
>             diverge2.update(fl) # reverse map for below<br>
><br>
>-    bothnew = sorted([d for d in m1 if d in m2 and d not in ma])<br>
>+    addedinm1 = m1.filesnotin(ma)<br>
>+    addedinm2 = m2.filesnotin(ma)<br>
>+    bothnew = sorted(addedinm1 & addedinm2)<br>
<br>
I was concerned about perf here (since we¹re constructing sets when we<br>
used to not, and we¹re iterating over both m1 and m2 when we used to not),<br>
but I ran the numbers and the new stuff is actually faster. To diff<br>
million file manifests with 5k files different each, previously it was<br>
0.36s and now it¹s 0.23.<br></blockquote><div><br></div><div><span style="font-size:13.1999998092651px">Great! And thanks for doing my job for me! :-)</span><br></div><div><span style="font-size:13.1999998092651px"><br></span></div><div><span style="font-size:13.1999998092651px">Even if it were a little slower, it should hopefully have been outweighed after 4/4. But even better that it's already after 3/4.</span></div><div><span style="font-size:13.1999998092651px"><br></span></div><div>Also, to whomever applies this, feel free to drop (or not) the "<span style="font-size:13.1999998092651px">5D" at the end of the message.</span></div></div></div>