Page MenuHomePhabricator

gracinet (Georges Racinet)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 17 2018, 3:58 AM (34 w, 4 d)

Recent Activity

Fri, Jun 14

gracinet committed rHG85041e2b69c7: rust: switched to 'cargo rustc' in setup.py.
rust: switched to 'cargo rustc' in setup.py
Fri, Jun 14, 10:55 AM
gracinet committed rHG8ee0fdf3b087: rust-cpython: fix build for MacOSX.
rust-cpython: fix build for MacOSX
Fri, Jun 14, 10:55 AM
gracinet committed rHGf4a65077e949: rust-cpython: management of shared libray suffix.
rust-cpython: management of shared libray suffix
Fri, Jun 14, 10:55 AM

Thu, Jun 13

gracinet committed rHG94167e701e12: rust: new rust options in setup.py.
rust: new rust options in setup.py
Thu, Jun 13, 4:39 PM
gracinet committed rHGa3a8887e4426: rust: using policy.importrust from Python callers.
rust: using policy.importrust from Python callers
Thu, Jun 13, 4:39 PM
gracinet committed rHG810f66b468cd: rust: module policy with importrust.
rust: module policy with importrust
Thu, Jun 13, 4:39 PM
gracinet added a comment to D6429: rust-discovery: optimization of add commons/missings for empty arguments.

@kevincox, thanks for the review of this and its predecessors. I think I've addressed all your remarks and improvement suggestions.

Thu, Jun 13, 9:41 AM
gracinet added inline comments to D6428: rust-discovery: using the children cache in add_missing.
Thu, Jun 13, 9:38 AM
gracinet added a comment to D6430: rust-discovery: using from Python code.

Instability fixed, and I took the opportunity to rebase again to leverage policy.importrust, that's been queued yesterday (rHGf7385ed775a8)

Thu, Jun 13, 9:37 AM
gracinet added a comment to D6429: rust-discovery: optimization of add commons/missings for empty arguments.

Wouldn't it be better to make add_missing_revisions work properly on empty inputs? It seems like it is too error prone to try and catch every caller. If possible I would like to push this check down as far as possible.
It seems easy enough to do in https://www.mercurial-scm.org/repo/hg/file/tip/rust/hg-core/src/discovery.rs#l56 by checking if common grew. This has the added benefit that attempting to re-add bases will also skill the work.

Thu, Jun 13, 9:33 AM
gracinet updated the diff for D6429: rust-discovery: optimization of add commons/missings for empty arguments.
Thu, Jun 13, 9:33 AM
gracinet updated the diff for D6428: rust-discovery: using the children cache in add_missing.
Thu, Jun 13, 9:33 AM
gracinet updated the summary of D6430: rust-discovery: using from Python code.
Thu, Jun 13, 9:33 AM
gracinet updated the diff for D6426: rust-discovery: optionally don't randomize at all, for tests.
Thu, Jun 13, 9:33 AM
gracinet updated the diff for D6425: rust-discovery: exposing sampling to python.
Thu, Jun 13, 9:32 AM
gracinet updated the diff for D6424: rust-discovery: takefullsample() core implementation.
Thu, Jun 13, 9:32 AM

Wed, Jun 12

gracinet committed rHG302acc78cc87: rust: new rust options in setup.py.
rust: new rust options in setup.py
Wed, Jun 12, 7:41 PM
gracinet committed rHGf834ee285752: rust: using policy.importrust from Python callers.
rust: using policy.importrust from Python callers
Wed, Jun 12, 7:41 PM
gracinet committed rHGf7385ed775a8: rust: module policy with importrust.
rust: module policy with importrust
Wed, Jun 12, 7:41 PM
gracinet added a comment to D6521: rust-discovery: optionally don't randomize at all, for tests.

Bad phabsend usage, sorry.

Wed, Jun 12, 2:43 PM
gracinet added a comment to D6520: rust-discovery: exposing sampling to python.

Bad phabsend usage, sorry.

Wed, Jun 12, 2:42 PM
gracinet added a comment to D6520: rust-discovery: exposing sampling to python.

Bad phabsend usage, sorry.

Wed, Jun 12, 2:42 PM
gracinet added a comment to D6519: rust-discovery: takefullsample() core implementation.

Bad phabsend usage, sorry.

Wed, Jun 12, 2:42 PM
gracinet added a comment to D6518: rust-discovery: core implementation for take_quick_sample().

Bad phabsend usage, sorry.

Wed, Jun 12, 2:42 PM
gracinet added a comment to D6430: rust-discovery: using from Python code.

Update of the whole series done but, ended up in an inconsistent state, and I have to go. Please don't act on it until I give the signal it's ready (sorry for inconvenience)

Wed, Jun 12, 2:40 PM
gracinet updated the diff for D6427: discovery: new devel.discovery.randomize option.
Wed, Jun 12, 2:17 PM
gracinet created D6521: rust-discovery: optionally don't randomize at all, for tests.
Wed, Jun 12, 2:17 PM
gracinet updated the summary of D6430: rust-discovery: using from Python code.
Wed, Jun 12, 2:17 PM
gracinet retitled D6429: rust-discovery: optimization of add commons/missings for empty arguments from rust-discovery: avoid useless calls to addcommons/addmissings to rust-discovery: optimization of add commons/missings for empty arguments.
Wed, Jun 12, 2:17 PM
gracinet updated the diff for D6428: rust-discovery: using the children cache in add_missing.
Wed, Jun 12, 2:17 PM
gracinet created D6519: rust-discovery: takefullsample() core implementation.
Wed, Jun 12, 2:17 PM
gracinet created D6520: rust-discovery: exposing sampling to python.
Wed, Jun 12, 2:17 PM
gracinet created D6518: rust-discovery: core implementation for take_quick_sample().
Wed, Jun 12, 2:17 PM
gracinet created D6517: rust-discovery: read the index from a repo passed at init.
Wed, Jun 12, 2:13 PM
gracinet created D6516: rust-discovery: accept the new 'respectsize' init arg.
Wed, Jun 12, 2:13 PM

Mon, Jun 3

gracinet committed rHG4e4fa3a95406: rust-dirstate: architecture independence fix.
rust-dirstate: architecture independence fix
Mon, Jun 3, 9:32 AM
gracinet created D6473: rust-dirstate: architecture independence fix.
Mon, Jun 3, 8:49 AM

Wed, May 22

gracinet added a comment to D2647: setdiscovery: make progress on most connected groups each roundtrip.

Also I'd like to mention that I have changesets that add more precise timing info, both for the Python variant (this one) and the Rust variant. These are the ones I used to put timing info in D6430 and D6428. I can share them, but I wouldn't submit them.

Wed, May 22, 2:15 PM
gracinet added a comment to D2647: setdiscovery: make progress on most connected groups each roundtrip.

We could maybe make it a function of both the number of heads and roots. That is not strictly the number of connected set, but that would provide a more conservative approach. That could over-sample for hour-glass shape, but they are probably less common.

The current way (only consider roots) should not over-sample, right? It still seems very effective in practice.

Wed, May 22, 2:13 PM
gracinet added a comment to D6428: rust-discovery: using the children cache in add_missing.

This revision is new. At the time I submitted the previous series, it was almost always the case that the advantage of the C reachableroots2() over the Rust `dagop::range() was more than compensated by sampling been done in Rust instead of Python.
I originally planned to finish that one and submit it as a follow-up optimization, but now it's necessary to prevent being slower in the fastest cases where there's no sampling.

Wed, May 22, 1:17 PM
gracinet created D6430: rust-discovery: using from Python code.
Wed, May 22, 1:00 PM
gracinet created D6429: rust-discovery: optimization of add commons/missings for empty arguments.
Wed, May 22, 1:00 PM
gracinet created D6428: rust-discovery: using the children cache in add_missing.
Wed, May 22, 1:00 PM
gracinet updated subscribers of D6427: discovery: new devel.discovery.randomize option.

@kevincox this used to be D6346
I had to fix conflict and adapt the test due to growing sample size having landed since then

Wed, May 22, 12:56 PM
gracinet added a comment to D6426: rust-discovery: optionally don't randomize at all, for tests.

@kevincox this used to be D6345

Wed, May 22, 12:55 PM
gracinet added a comment to D6425: rust-discovery: exposing sampling to python.

@kevincox this used to be D6261

Wed, May 22, 12:54 PM
gracinet added a comment to D6424: rust-discovery: takefullsample() core implementation.

@kevincox this used to be D6260 (I don't think I changed anything besides rebasing)

Wed, May 22, 12:53 PM
gracinet added a comment to D6423: rust-discovery: core implementation for take_quick_sample().

@kevincox this used to be D6257 (I don't think I changed anything besides rebasing)

Wed, May 22, 12:50 PM
gracinet created D6427: discovery: new devel.discovery.randomize option.
Wed, May 22, 12:50 PM
gracinet created D6426: rust-discovery: optionally don't randomize at all, for tests.
Wed, May 22, 12:50 PM
gracinet created D6425: rust-discovery: exposing sampling to python.
Wed, May 22, 12:50 PM
gracinet created D6424: rust-discovery: takefullsample() core implementation.
Wed, May 22, 12:50 PM
gracinet created D6423: rust-discovery: core implementation for take_quick_sample().
Wed, May 22, 12:50 PM
gracinet abandoned D6346: discovery: new devel.discovery.randomize option.

I'm abandoning this revision because I have to resubmit the whole series after partial incorrect application last week and subsequent droping from the actual repo.

Wed, May 22, 12:40 PM
gracinet abandoned D6262: rust-discovery: using from Python code.
Wed, May 22, 12:39 PM
gracinet added a comment to D6262: rust-discovery: using from Python code.

I'm abandoning this revision because I have to resubmit the whole series after partial incorrect application last week and subsequent droping from the actual repo.

Wed, May 22, 12:38 PM
gracinet abandoned D6345: rust-discovery: optionally don't randomize at all, for tests.

I'm abandoning this revision because I have to resubmit the whole series after partial incorrect application last week and subsequent droping from the actual repo.

Wed, May 22, 12:38 PM
gracinet added a comment to D6345: rust-discovery: optionally don't randomize at all, for tests.

@kevincox I don't think the potential masking in tests due to this strategy is a big problem. That test is pretty recent, compared to setdiscovery, at least, and doesn't really test that sampling is very relevant. We could do better though by introducing several non random selecting strategies if we need it in the future, but this was good enough for me for the time being.

Wed, May 22, 12:36 PM

Tue, May 21

gracinet closed D6415: rust-python3: useless python2 specific import.
Tue, May 21, 7:32 PM
gracinet committed rHG5b795108dd17: rust-python3: useless python2 specific import.
rust-python3: useless python2 specific import
Tue, May 21, 7:32 PM
gracinet closed D6397: rust-python3: compatibility fix for incoming PyLong.
Tue, May 21, 7:32 PM
gracinet committed rHG48df8a06c8bb: rust-python3: compatibility fix for incoming PyLong.
rust-python3: compatibility fix for incoming PyLong
Tue, May 21, 7:32 PM
gracinet added a comment to D6397: rust-python3: compatibility fix for incoming PyLong.

D6415 is also necessary to actually build with python3

Tue, May 21, 2:09 PM
gracinet created D6415: rust-python3: useless python2 specific import.
Tue, May 21, 2:09 PM
gracinet added a comment to D6397: rust-python3: compatibility fix for incoming PyLong.

@yuja yes indeed, just resubmitted with as_object(), thanks

Tue, May 21, 2:01 PM
gracinet updated the diff for D6397: rust-python3: compatibility fix for incoming PyLong.
Tue, May 21, 1:58 PM

Fri, May 17

gracinet committed rHG163b8fd7bb72: rust-python3: compatibility fix for integer conversion.
rust-python3: compatibility fix for integer conversion
Fri, May 17, 11:36 PM
gracinet closed D6396: rust-python3: compatibility fix for integer conversion.
Fri, May 17, 11:31 PM
gracinet committed rHGf887a8c1abde: rust-python3: compatibility fix for integer conversion.
rust-python3: compatibility fix for integer conversion
Fri, May 17, 11:31 PM

May 17 2019

gracinet created D6397: rust-python3: compatibility fix for incoming PyLong.
May 17 2019, 7:42 AM
gracinet created D6396: rust-python3: compatibility fix for integer conversion.
May 17 2019, 7:42 AM
gracinet closed D6392: rust-cpython: build for py3, Windows and MacOSX.
May 17 2019, 1:58 AM
gracinet committed rHGa5fa9140ce4c: rust-cpython: build for py3, Windows and MacOSX.
rust-cpython: build for py3, Windows and MacOSX
May 17 2019, 1:58 AM

May 16 2019

gracinet updated the diff for D6392: rust-cpython: build for py3, Windows and MacOSX.
May 16 2019, 4:19 PM
gracinet updated the diff for D6392: rust-cpython: build for py3, Windows and MacOSX.
May 16 2019, 4:10 PM
gracinet created D6392: rust-cpython: build for py3, Windows and MacOSX.
May 16 2019, 3:15 PM
gracinet closed D6257: rust-discovery: core implementation for take_quick_sample().
May 16 2019, 12:43 PM
gracinet committed rHGedbd8530fa4d: rust-discovery: exposing sampling to python.
rust-discovery: exposing sampling to python
May 16 2019, 12:43 PM
gracinet closed D6260: rust-discovery: takefullsample() core implementation.
May 16 2019, 12:43 PM
gracinet committed rHG6a8aec3f03df: rust-discovery: takefullsample() core implementation.
rust-discovery: takefullsample() core implementation
May 16 2019, 12:43 PM
gracinet committed rHGd09bdb2a1f75: rust-discovery: core implementation for take_quick_sample().
rust-discovery: core implementation for take_quick_sample()
May 16 2019, 12:43 PM

May 15 2019

gracinet closed D6261: rust-discovery: exposing sampling to python.
May 15 2019, 2:31 PM
gracinet committed rHGe7d3e56fa32e: rust-discovery: exposing sampling to python.
rust-discovery: exposing sampling to python
May 15 2019, 2:31 PM

May 6 2019

gracinet added a comment to D6260: rust-discovery: takefullsample() core implementation.

I think it's maybe ready to land in that form. In the future, I'd like to put this ParentsIterator in a more generic place, and IMHO, it should become part of an AbstractGraph trait, that could live in a graph module.

May 6 2019, 11:38 AM
gracinet added a comment to D6257: rust-discovery: core implementation for take_quick_sample().

@kevincox thanks for the initial review, I think I've implemented the corrections you suggested.

May 6 2019, 11:32 AM
gracinet created D6346: discovery: new devel.discovery.randomize option.
May 6 2019, 11:31 AM
gracinet updated the diff for D6262: rust-discovery: using from Python code.
May 6 2019, 11:31 AM
gracinet created D6345: rust-discovery: optionally don't randomize at all, for tests.
May 6 2019, 11:31 AM
gracinet updated the diff for D6261: rust-discovery: exposing sampling to python.
May 6 2019, 11:30 AM
gracinet updated the diff for D6260: rust-discovery: takefullsample() core implementation.
May 6 2019, 11:30 AM
gracinet updated the diff for D6257: rust-discovery: core implementation for take_quick_sample().
May 6 2019, 11:30 AM

Apr 18 2019

gracinet closed D6233: rust-discovery: implementing and exposing stats().
Apr 18 2019, 7:26 PM
gracinet closed D6232: rust-discovery: cpython bindings for the core logic.
Apr 18 2019, 7:26 PM
gracinet closed D6231: rust-discovery: starting core implementation.
Apr 18 2019, 7:26 PM
gracinet committed rHG13b64247f48f: rust-discovery: cpython bindings for the core logic.
rust-discovery: cpython bindings for the core logic
Apr 18 2019, 7:26 PM
gracinet committed rHG1b0be75cb61f: rust-discovery: implementing and exposing stats().
rust-discovery: implementing and exposing stats()
Apr 18 2019, 7:26 PM
gracinet committed rHG10b465d61556: rust-discovery: starting core implementation.
rust-discovery: starting core implementation
Apr 18 2019, 7:26 PM
gracinet closed D6230: rust-dagops: roots.
Apr 18 2019, 7:26 PM
gracinet closed D6229: rust-dagops: range of revisions.
Apr 18 2019, 7:26 PM
gracinet committed rHGbe0733552984: rust-dagops: roots.
rust-dagops: roots
Apr 18 2019, 7:26 PM