Stream: t-cargo/PubGrub

Topic: So what to do next?


view this post on Zulip Eh2406 (Oct 09 2020 at 02:30):

I am so excited to continue working on this! Thank you both for making this happen! I have all these ideas in my head and have no sense of what is the important next step. What do you think? What developments need to happen to work on the parts you are most excited about?

view this post on Zulip Matthieu Pizenberg (Oct 09 2020 at 07:37):

I think the road that suits me most, would be to consolidate what we have, to publish a v0.2 and then do the org transition and a cargo-pubgrub-experiment repo to try things related to cargo. Or rather do the org transition just before publishing v0.2 such that it already points there.

By consolidate, I mean

It seems like mostly admin stuff but I think that's the important things to do to to have more feedback

view this post on Zulip Alex Tokarev (Oct 09 2020 at 08:19):

Do you think it's worth creating a separate repo for cargo related stuff rather than working in a branch?
That probably follows from whether you would like those changes to be merged once they are ready or if you want to call current repo "feature complete" for your purposes, and for cargo's version to publish separately to crates.io.

view this post on Zulip Matthieu Pizenberg (Oct 09 2020 at 11:27):

Yes, things that are specific to cargo should be explored in another repo, or in case things truly need to be modified in the base pubgrub algorithm that would not be beneficiary for it independently than cargo then in a fork or patched version of the base repo

view this post on Zulip Alex Tokarev (Oct 09 2020 at 12:51):

We could you make use of "features" and make those disables by default.

view this post on Zulip Matthieu Pizenberg (Oct 09 2020 at 13:40):

Maybe? I don't know, I've never really used features myself. They seem more adequate for extensions than for modifications. Let's wait and see when we actually try to figure out specific cargo stuff. But if you want to try exploring some things cargo-related before consolidation of base pubgrub, please do so in a fork

view this post on Zulip Eh2406 (Oct 09 2020 at 14:15):

That all sounds like a really good medium term plan!

view this post on Zulip Eh2406 (Oct 09 2020 at 14:34):

I am wondering about next steps in the short term. Should I work towards my next PR being about:

view this post on Zulip Alex Tokarev (Oct 09 2020 at 15:44):

I think algorithmic performance improvements should come before non-algorithmic ones, since they could possibly make those obsolete.
API work is pretty high up there as well, since what users actually deal with should be as ergonomic as possible in my opinion.

I would rank those as follows in the order of decreasing importance:

Of course if you see some low hanging fruits somewhere don't hold yourself back on picking those :wink:

view this post on Zulip Matthieu Pizenberg (Oct 09 2020 at 15:46):

Very much agree with @Eh2406 propositions and @Alex Tokarev ordering :)

view this post on Zulip Alex Tokarev (Oct 09 2020 at 15:47):

I myself want to do some infrastructure work next, namely setup Clippy pass on CI and fix the existing warnings.

view this post on Zulip Eh2406 (Oct 09 2020 at 15:47):

Where should the proptest port go on that list?

view this post on Zulip Matthieu Pizenberg (Oct 09 2020 at 15:48):

Though I'd probably put proptest with algorithmic improvement hand to hand, cannot improve blindly

view this post on Zulip Alex Tokarev (Oct 09 2020 at 15:49):

True, that would be an instrument to achieve the goal (you could use many), so I didn't rank it separately

view this post on Zulip Alex Tokarev (Oct 09 2020 at 16:00):

Also I want to work on clickable links for documentation.
I think we can run cargo doc on CI and check that no warnings are emitted. I recently noticed they are produced when references in the documentation break.

view this post on Zulip Alex Tokarev (Oct 09 2020 at 16:18):

Damn my SRE position must be getting hold of me :joy:

view this post on Zulip Eh2406 (Oct 09 2020 at 16:33):

I think we may need --all-targets or somthing to get CI errors about examples.

view this post on Zulip Alex Tokarev (Oct 09 2020 at 16:37):

Hm, that doesn't work with cargo doc. It does with cargo build, so will be useful for clippy setup.

view this post on Zulip Matthieu Pizenberg (Oct 09 2020 at 20:23):

I added some notes I've taken to benchmark if I want to try some optimization later. The notes are here: https://github.com/mpizenberg/pubgrub-rs/issues/27. Don't hesitate to add your tips there @Eh2406

view this post on Zulip Eh2406 (Oct 09 2020 at 20:30):

The reports look like what I was seeing, most of our time in relation/intersection.

view this post on Zulip Alex Tokarev (Oct 10 2020 at 11:16):

Excellent writeup on benchmarking and profiling, provides me with a nice starting point as I haven't done it before.

view this post on Zulip Matthieu Pizenberg (Oct 10 2020 at 11:28):

I won't answer for the weekend by the way. Having family here. Have a good weekend

view this post on Zulip Alex Tokarev (Oct 10 2020 at 11:29):

Enjoy your time with the family!

view this post on Zulip Eh2406 (Oct 10 2020 at 17:30):

One other todo item for ensuring correctness, I'd like to see us port over the tests from the Dart implementation.

view this post on Zulip Alex Tokarev (Oct 10 2020 at 18:55):

True, I promised to do that and it's on my virtual TODO list

view this post on Zulip Eh2406 (Oct 10 2020 at 20:22):

Would you like me to post an issue?

view this post on Zulip Alex Tokarev (Oct 10 2020 at 20:24):

https://github.com/mpizenberg/pubgrub-rs/issues/30

view this post on Zulip DPC (Oct 14 2020 at 14:18):

I can try that but no time guarantees

view this post on Zulip Eh2406 (Oct 14 2020 at 14:19):

That would be great! And welcome to the project!

view this post on Zulip Matthieu Pizenberg (Oct 14 2020 at 16:05):

welcome :)

view this post on Zulip Matthieu Pizenberg (Oct 16 2020 at 10:31):

Let's make a quick recap of all the things that happened in this short period of time in prubgrub-rs. We have

and made lots of other small improvements.

view this post on Zulip Matthieu Pizenberg (Oct 16 2020 at 10:33):

I think all this is worth releasing a v0.2 version of the crate, and start thinking about new short-term and medium-term goals.

Among those I personally see:

view this post on Zulip Eh2406 (Oct 16 2020 at 13:22):

Any chance that integrating with the test runner could lead to large realistic examples? Also if that project is the primary use case for the library I'd be ok including it in our CI. Basically I want to know if changes will break our primary user.

view this post on Zulip Eh2406 (Oct 16 2020 at 13:46):

What are your opinions on exploring extensions that are in the Dart implementation but not in the blog post? Like "features", "replacements", "pre-release", and "lockfiles"? Should they be explored in or out of tree?

view this post on Zulip Alex Tokarev (Oct 16 2020 at 18:58):

Both are very good questions.

view this post on Zulip Matthieu Pizenberg (Oct 16 2020 at 19:13):

Eh2406 said:

What are your opinions on exploring extensions that are in the Dart implementation but not in the blog post? Like "features", "replacements", "pre-release", and "lockfiles"? Should they be explored in or out of tree?

I'm not very familiar with all the things cargo can do. Would you mind doing a write up of those that are not trivially supported by pubgrub as it is now, and maybe propose some ideas for each of those? That would be great to have such write up in an issue of the repo

view this post on Zulip Eh2406 (Oct 16 2020 at 19:15):

(I am working on porting over the sat-proptests then I will work on that.)

view this post on Zulip DPC (Oct 16 2020 at 21:16):

cool

view this post on Zulip Eh2406 (Oct 17 2020 at 03:02):

I posted that issue pubgrub#39 for the ones where the next step is "look at the dart implementation." The other big ones I can think of are one per major instead one one per name witch I am totally ok not thinking about until after 0.2, and Public&Private dependencies witch cargo doesn't even really support. So thos two can be worked on out of tree when we are ready to work on them.

view this post on Zulip Matthieu Pizenberg (Oct 17 2020 at 22:09):

Tomorrow I'll have a look at pubgrub#34 regarding usage of git LFS. Then my priority will be writing a guide for the coming days I think


Last updated: Oct 21 2021 at 20:47 UTC