Current state of revset performance.
Martin von Zweigbergk
martinvonz at google.com
Fri Oct 31 13:37:09 CDT 2014
Speaking of revset performance, I just found another case of a matcher that
gets re-created for each revision. This time it was in the status functions
('modifies(filename)' etc). I'll send a patch shortly, although it's
probably not a very commonly used feature.
On Fri Oct 31 2014 at 11:26:26 AM Pierre-Yves David <
pierre-yves.david at ens-lyon.org> wrote:
> Crude version of the Mozilla run:
>
> Revision:
> 0) 2.9.2
> 1) 3.0.2
> 2) 3.1.2
> 3) @ (6df4bc39f682)
>
>
> revset #0: all()
> plain first last
> 0) 0.006786 0.010800 0.010913
> 1) 0.007517 110% 0.000067 0% 0.000068 0%
> 2) 0.007632 112% 0.000072 0% 0.000073 0%
> 3) 0.002017 29% 0.000057 0% 0.000058 0%
>
> revset #1: draft()
> plain first last
> 0) 0.079163 0.089195 0.088850
> 1) 0.096753 122% 0.095942 107% 0.094619 106%
> 2) 0.096062 121% 0.095756 107% 0.095443 107%
> 3) 0.073472 92% 0.073260 82% 0.072349 81%
>
> revset #2: ::tip
> plain first last
> 0) 0.280741 0.280493 0.283894
> 1) 0.769780 274% 0.690721 246% 0.000121 0%
> 2) 0.803637 286% 0.696153 248% 0.000127 0%
> 3) 0.654392 233% 0.667881 238% 0.000116 0%
>
> revset #3: draft() and ::tip
> plain first last
> 0) 0.324141 0.337861 0.330265
> 1) 0.096552 29% 0.096565 28% 0.095286 28%
> 2) 0.094455 29% 0.096499 28% 0.094012 28%
> 3) 0.073355 22% 0.073941 21% 0.073433 22%
>
> revset #4: ::tip and draft()
> plain first last
> 0) 0.324507 0.327941 0.334155
> 1) 0.095595 29% 0.094801 28% 0.096211 28%
> 2) 0.094424 29% 0.095275 29% 0.095420 28%
> 3) 0.072749 22% 0.073419 22% 0.073032 21%
>
> revset #5: 0::tip
> plain first last
> 0) 0.324600 0.332428 0.333884
> 1) 0.352632 108% 0.285484 85% 0.284378 85%
> 2) 0.352756 108% 0.282926 85% 0.287365 86%
> 3) 0.325903 0.276009 83% 0.274474 82%
>
> revset #6: roots(0::tip)
> plain first last
> 0) 0.519029 0.538584 0.532543
> 1) 0.668438 128% 0.673205 124% 0.663861 124%
> 2) 0.660498 127% 0.656784 121% 0.658735 123%
> 3) 0.985584 189% 0.956580 177% 0.983027 184%
>
> revset #7: author(lmoscovicz)
> plain first last
> 0) 11.643608 11.662681 11.633260
> 1) 11.236965 11.289932 12.378441 106%
> 2) 11.247612 11.487701 12.342784 106%
> 3) 11.184739 11.139515 12.291413 105%
>
> revset #8: author(mpm)
> plain first last
> 0) 11.577756 11.654137 12.009246
> 1) 11.322512 11.308106 12.231911
> 2) 11.320787 11.425371 12.321440
> 3) 11.323165 11.222706 12.221679
>
> revset #9: author(lmoscovicz) or author(mpm)
> plain first last
> 0) 23.756454 23.636443 23.543629
> 1) 29.609735 124% 29.487522 124% 29.257593 124%
> 2) 29.716844 125% 29.107857 123% 29.490393 125%
> 3) 22.976465 23.137062 23.158090
>
> revset #10: author(mpm) or author(lmoscovicz)
> plain first last
> 0) 23.569961 23.351835 23.249818
> 1) 29.352488 124% 29.463170 126% 29.538436 127%
> 2) 29.460387 124% 29.618885 126% 29.451402 126%
> 3) 22.800767 22.952411 22.951751
>
> revset #11: tip:0
> plain first last
> 0) 0.030447 0.036552 0.036424
> 1) 0.085987 282% 0.002484 6% 0.002369 6%
> 2) 0.085359 280% 0.002372 6% 0.002478 6%
> 3) 0.052133 171% 0.002337 6% 0.002362 6%
>
> revset #12: 0::
> plain first last
> 0) 0.256131 0.264171 0.263897
> 1) 0.578819 225% 0.000134 0% 0.539618 204%
> 2) 0.571131 222% 0.000138 0% 0.534933 202%
> 3) 0.289868 113% 0.000125 0% 0.375199 142%
>
> revset #13: roots((tip~100::) - (tip~100::tip))
> plain first last
> 0) 0.034687 0.043165 0.042474
> 1) 0.092367 266% 0.092202 213% 0.091826 216%
> 2) 0.092195 265% 0.092544 214% 0.091687 215%
> 3) 0.007388 21% 0.007371 17% 0.007353 17%
>
> revset #14: roots((0::) - (0::tip))
> plain first last
> 0) 0.661421 0.649430 0.640142
> 1) 391.611347 59207% 391.789948 60328% 391.887884 61218%
> 2) 1.163275 175% 1.151022 177% 1.154920 180%
> 3) 1.149652 173% 1.160350 178% 1.149502 179%
>
> revset #15: ::p1(p1(tip))::
> plain first last
> 0) 0.578671 0.593520 0.584102
> 1) 1.756008 303% 0.843632 142% 1.701836 291%
> 2) 1.711039 295% 0.876324 147% 1.674451 286%
> 3) 1.100286 190% 0.662526 111% 1.082050 185%
>
> revset #16: public()
> plain first last
> 0) 0.088949 0.092381 0.092394
> 1) 0.111013 124% 0.000072 0% 0.000073 0%
> 2) 0.113799 127% 0.000077 0% 0.000078 0%
> 3) 0.083106 93% 0.000062 0% 0.000063 0%
>
> revset #17: :10000 and public()
> plain first last
> 0) 0.015773 0.025560 0.025615
> 1) 0.011457 72% 0.002400 9% 0.002507 9%
> 2) 0.011586 73% 0.002528 9% 0.002525 9%
> 3) 0.009616 60% 0.002490 9% 0.002386 9%
>
> revset #18: draft()
> plain first last
> 0) 0.077634 0.085566 0.085021
> 1) 0.095753 123% 0.095242 111% 0.095653 112%
> 2) 0.097078 125% 0.095641 111% 0.096282 113%
> 3) 0.073030 94% 0.073441 85% 0.073012 85%
>
> revset #19: :10000 and draft()
> plain first last
> 0) 0.015261 0.025530 0.025518
> 1) 0.011235 73% 0.011130 43% 0.011164 43%
> 2) 0.011181 73% 0.011122 43% 0.011187 43%
> 3) 0.008544 55% 0.008780 34% 0.008678 34%
>
> revset #20: roots((0:tip)::)
> plain first last
> 0) 0.501115 0.519457 0.510027
> 1) 1.331064 265% 1.334445 256% 1.323278 259%
> 2) 1.318210 263% 1.323498 254% 1.327099 260%
> 3) 1.448959 289% 1.432456 275% 1.448156 283%
>
> revset #21: (not public() - obsolete())
> plain first last
> 0) 0.098131 0.108021 0.106831
> 1) 0.290775 296% 0.289776 268% 0.263960 247%
> 2) 0.277792 283% 0.278018 257% 0.250765 234%
> 3) 0.210429 214% 0.211743 196% 0.211170 197%
>
> revset #22: parents(20000)
> plain first last
> 0) 0.011561 0.019285 0.019149
> 1) 0.012286 106% 0.001274 6% 0.011334 59%
> 2) 0.012316 106% 0.001286 6% 0.011265 58%
> 3) 0.000093 0% 0.000116 0% 0.000116 0%
>
> revset #23: (20000::) - (20000)
> plain first last
> 0) 0.230389 0.244946 0.236635
> 1) 0.508662 220% 0.048214 19% 0.471218 199%
> 2) 0.505554 219% 0.048132 19% 0.473105 199%
> 3) 0.450539 195% 0.075974 31% 0.258297 109%
>
> revset #24: (children(ancestor(tip~5, tip)) and ::(tip~5))::
> plain first last
> 0) 0.290993 0.298727 0.296004
> 1) 0.885938 304% 0.895829 299% 0.902676 304%
> 2) 0.922947 317% 0.941054 315% 0.912894 308%
> 3) 0.673059 231% 0.713323 238% 0.731710 247%
>
> --
> Pierre-Yves David
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20141031/12c50aa7/attachment.html>
More information about the Mercurial-devel
mailing list