D1253: dirstate: avoid reading the map when possible (issue5713) (issue5717)

2017-10-28 Thread mharbison72 (Matt Harbison)
mharbison72 added a comment. @durham It did turn out to be a sort issue: some paths had '\' and were (partially?) converted to '/' by the test runner _after_ the sort. Piping through sed to fix the paths beforehand reduces it to this: ---

D1253: dirstate: avoid reading the map when possible (issue5713) (issue5717)

2017-10-28 Thread lothiraldan (Boris Feld)
lothiraldan added a comment. After rereading the numbers, I realize that with this patch we are still 10ms (around 10%) slower than before. The numbers before `0865d25e8a8a` were `[109, 110, 111]`ms and with this patch we are at `[119, 120, 123]`ms. We should take a look at it.

D1253: dirstate: avoid reading the map when possible (issue5713) (issue5717)

2017-10-28 Thread durham (Durham Goode)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG6e66033f91cc: dirstate: avoid reading the map when possible (issue5713) (issue5717) (authored by durham, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D1253: dirstate: avoid reading the map when possible (issue5713) (issue5717)

2017-10-28 Thread yuja (Yuya Nishihara)
yuja added a comment. Queued up to this patch, thanks. INLINE COMMENTS > dirstate.py:132 > (state, mode, size, time).''' > -self._read() > +self._map = dirstatemap(self._ui, self._opener, self._root) > return self._map Perhaps this can be moved to

D1253: dirstate: avoid reading the map when possible (issue5713) (issue5717)

2017-10-27 Thread durham (Durham Goode)
durham added a comment. @mharbison72 your test output looks like the sort order changed? Does it consistently repro before and after this patch? The sort order is from the sort -u in the test, so I can't imagine this affecting it. REPOSITORY rHG Mercurial REVISION DETAIL

D1253: dirstate: avoid reading the map when possible (issue5713) (issue5717)

2017-10-27 Thread lothiraldan (Boris Feld)
lothiraldan added a comment. Here are some measures https://phab.mercurial-scm.org/rHG0865d25e8a8ad664e8da31ab1bf12f1fc9bf0c7a: $ python -m perf command /home/lothiraldan/project/mercurial/mercurial/hg id -r . . command: Mean +- std dev: 109 ms +- 3 ms

D1253: dirstate: avoid reading the map when possible (issue5713) (issue5717)

2017-10-27 Thread yuja (Yuya Nishihara)
yuja added a comment. (I don't read the patch content yet.) I just made static-http repo not see dirstate because of the issue5717. I don't know the issue5713, but a fewer loading over HTTP should be generally better. REPOSITORY rHG Mercurial REVISION DETAIL

D1253: dirstate: avoid reading the map when possible (issue5713) (issue5717)

2017-10-27 Thread lothiraldan (Boris Feld)
lothiraldan accepted this revision. lothiraldan added a comment. It looks good to me. I did some quick and dirty performance check and I see a performance improvement. On the mozilla-central repository, without this change, I get these results: $ python -m perf command

D1253: dirstate: avoid reading the map when possible (issue5713) (issue5717)

2017-10-26 Thread mharbison72 (Matt Harbison)
mharbison72 added a comment. Try that again without the reformatting diff --git a/tests/test-static-http.t b/tests/test-static-http.t --- a/tests/test-static-http.t +++ b/tests/test-static-http.t @@ -221,34 +221,31 @@ $ cat server.log | sed -n -e 's|.*GET \(/[^

D1253: dirstate: avoid reading the map when possible (issue5713) (issue5717)

2017-10-26 Thread mharbison72 (Matt Harbison)
mharbison72 added a comment. This makes Windows mostly happy again, but now I'm getting the following diff. Any ideas? diff --git a/tests/test-static-http.t b/tests/test-static-http.t - a/tests/test-static-http.t +++ b/tests/test-static-http.t @@ -221,34 +221,31 @@ $

D1253: dirstate: avoid reading the map when possible (issue5713) (issue5717)

2017-10-26 Thread durham (Durham Goode)
durham created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Before the recent refactor, we would not load the entire map until it was accessed. As part of the refactor, that got lost and even just trying to load the