Stream: t-cargo/PubGrub

Topic: How to run only 1 benchmark?


view this post on Zulip Matthieu Pizenberg (Nov 15 2020 at 14:43):

I've added a file benches/elm_packages.rs and I'd like to run just that benchmark but when I run cargo bench --features=serde elm_packages I get in the output

     Running target/release/deps/elm_packages-c1955df7fc2de166

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

Do you know what I'm doing wrong?

view this post on Zulip Eh2406 (Nov 15 2020 at 14:55):

I think you'll want to add a new benchmark harness. https://github.com/pubgrub-rs/pubgrub/blob/dev/Cargo.toml#L29
Cargo auto detects them by default but by default uses nightly benchmarking, so by switching to criterion we have to say it manually.
And give me 5 and I'll push the benchmark I was using last night.

view this post on Zulip Matthieu Pizenberg (Nov 15 2020 at 14:56):

aaaaahh ok

view this post on Zulip Eh2406 (Nov 15 2020 at 14:59):

https://github.com/pubgrub-rs/pubgrub/tree/str_benchmarks

view this post on Zulip Eh2406 (Nov 15 2020 at 15:01):

It has the advantage of being flexible to what ron files are present. So we don't need to check them in. It you have them they'll get benchmarked. If not all so good. It does take like 3 mins on the elm file. So that is a disadvantage.

view this post on Zulip Matthieu Pizenberg (Nov 15 2020 at 15:17):

I noticed there was some errors while solving dependencies :( I'll try to see what are the reasons for those. Here is the output I got with an example solving all packages:

No solution for sporto/erl@1.0.0
No solution for sporto/erl@2.0.0
No solution for sporto/erl@3.0.0
No solution for sporto/erl@3.1.0
No solution for mbr/elm-mouse-events@1.0.3
No solution for garetht/elm-dynamic-style@1.0.1
No solution for nedSaf/elm-bootstrap-grid@1.0.1
No solution for nedSaf/elm-bootstrap-grid@1.0.2
No solution for jessitron/elm-param-parsing@1.0.0
No solution for ktonon/elm-serverless-cors@1.0.0
No solution for ktonon/elm-serverless-cors@1.0.1
No solution for surprisetalk/elm-bulma@3.0.0
No solution for surprisetalk/elm-bulma@3.1.0
No solution for surprisetalk/elm-bulma@4.0.0
No solution for surprisetalk/elm-bulma@4.0.1
No solution for surprisetalk/elm-bulma@4.1.0
No solution for surprisetalk/elm-bulma@4.1.1
No solution for surprisetalk/elm-bulma@4.1.2
No solution for surprisetalk/elm-bulma@4.1.3
No solution for surprisetalk/elm-bulma@4.1.4
No solution for surprisetalk/elm-bulma@4.1.5
No solution for surprisetalk/elm-bulma@5.0.0
No solution for surprisetalk/elm-bulma@6.0.0
No solution for surprisetalk/elm-bulma@6.0.1
No solution for surprisetalk/elm-bulma@6.0.2
No solution for jonathanfishbein1/complex-numbers@5.0.0
No solution for Chadtech/ctpaint-keys@5.0.0
No solution for Chadtech/ctpaint-keys@6.0.0
No solution for Chadtech/ctpaint-keys@6.0.1
No solution for Chadtech/ctpaint-keys@6.0.2
No solution for Chadtech/ctpaint-keys@6.0.3
No solution for Chadtech/ctpaint-keys@6.0.4
No solution for Chadtech/ctpaint-keys@6.0.5
No solution for Chadtech/ctpaint-keys@6.0.6
No solution for Chadtech/ctpaint-keys@6.0.7
No solution for Chadtech/ctpaint-keys@6.0.8
No solution for Chadtech/ctpaint-keys@6.0.9
No solution for nathanjohnson320/ecurve@1.0.0
No solution for KtorZ/elm-notification@1.0.0
No solution for KtorZ/elm-notification@1.0.1
No solution for KtorZ/elm-notification@1.1.0
No solution for KtorZ/elm-notification@1.1.1
No solution for danielnarey/elm-form-capture@1.0.0
No solution for danielnarey/elm-form-capture@1.0.1
No solution for danielnarey/elm-form-capture@1.0.2
No solution for danielnarey/elm-form-capture@1.0.3
No solution for danielnarey/elm-form-capture@1.0.4
No solution for danielnarey/elm-form-capture@1.0.5
No solution for drathier/elm-test-graph@1.0.0
No solution for drathier/elm-test-graph@1.0.1
No solution for drathier/elm-test-graph@1.0.2
No solution for nphollon/collisions@1.0.0
No solution for nphollon/collisions@1.0.1
No solution for EngageSoftware/elm-dnn-http@1.0.0
No solution for imeckler/iterator@1.0.0
No solution for imeckler/iterator@1.0.1
No solution for imeckler/iterator@1.1.0
No solution for imeckler/iterator@1.1.1
No solution for etaque/elm-transit-style@1.0.0
No solution for etaque/elm-transit-style@1.0.1
No solution for mgold/elm-animation@1.0.0
No solution for mgold/elm-animation@1.0.1
No solution for fresheyeball/elm-check-runner@1.0.0
No solution for cmditch/mel-bew3@1.0.0
No solution for cmditch/mel-bew3@2.0.0
No solution for cmditch/mel-bew3@3.0.0
No solution for cmditch/mel-bew3@4.0.0
No solution for cmditch/mel-bew3@5.0.0
No solution for cmditch/mel-bew3@5.0.1
No solution for cmditch/mel-bew3@5.0.2
No solution for cmditch/mel-bew3@6.0.0
No solution for cmditch/mel-bew3@7.0.0
No solution for cmditch/mel-bew3@7.0.1
No solution for cmditch/mel-bew3@8.0.0
No solution for cmditch/mel-bew3@9.0.0
No solution for cmditch/mel-bew3@10.0.0
No solution for cmditch/mel-bew3@11.0.0
No solution for cmditch/mel-bew3@12.0.0
No solution for cmditch/mel-bew3@13.0.0
No solution for cmditch/mel-bew3@13.0.1
No solution for jfmengels/elm-lint@1.0.0
No solution for bakkemo/elm-collision@1.0.0
No solution for lattenwald/elm-base64@1.0.2
No solution for lattenwald/elm-base64@1.0.3
No solution for arowM/elm-embedded-gist@1.0.4
No solution for sindikat/elm-matrix@1.1.0
No solution for sindikat/elm-matrix@1.2.0
No solution for enetsee/facet-plot-alpha@2.0.1
No solution for enetsee/facet-plot-alpha@2.0.2
No solution for enetsee/facet-plot-alpha@2.0.3
No solution for heyLu/elm-format-date@1.0.0
No solution for lucamug/elm-style-framework@5.0.1
No solution for vito/elm-ansi@8.0.0
DependencyOnTheEmptySet { package: "krisajenkins/elm-dialog", version: SemanticVersion { major: 1, minor: 0, patch: 0 }, dependent: "laszlopandy/elm-console" }
DependencyOnTheEmptySet { package: "krisajenkins/elm-dialog", version: SemanticVersion { major: 1, minor: 0, patch: 1 }, dependent: "laszlopandy/elm-console" }
DependencyOnTheEmptySet { package: "krisajenkins/elm-dialog", version: SemanticVersion { major: 1, minor: 0, patch: 2 }, dependent: "laszlopandy/elm-console" }
No solution for sgraf812/elm-intdict@1.4.0
No solution for sgraf812/elm-intdict@1.4.1
No solution for avh4/elm-spec@1.0.0
No solution for jvoigtlaender/elm-warshall@1.0.0
No solution for eeue56/elm-flat-matrix@2.0.2
No solution for eeue56/elm-flat-matrix@2.0.3
No solution for eeue56/elm-flat-matrix@2.0.4
No solution for rgrempel/elm-route-url@1.0.0
No solution for rgrempel/elm-route-url@1.0.1
No solution for rgrempel/elm-route-url@1.0.2
No solution for rgrempel/elm-route-url@1.0.3
No solution for rgrempel/elm-route-url@1.0.4
No solution for the-sett/ai-search@3.1.1
No solution for chendrix/elm-matrix@2.0.1
No solution for chendrix/elm-matrix@2.1.0
No solution for chendrix/elm-matrix@3.0.0
No solution for aluuu/elm-check-io@1.0.0
No solution for w0rm/elm-slice-show@3.0.0
No solution for cmditch/elm-ethereum@1.0.0
No solution for cmditch/elm-ethereum@1.0.1
No solution for the-sett/svg-text-fonts@1.0.0
No solution for the-sett/svg-text-fonts@2.0.0
No solution for billstclair/elm-crypto-string@1.0.0
No solution for billstclair/elm-crypto-string@1.0.1
No solution for billstclair/elm-crypto-string@1.0.2
No solution for billstclair/elm-crypto-string@1.0.3
No solution for billstclair/elm-crypto-string@2.0.0
No solution for billstclair/elm-crypto-string@2.0.1
No solution for billstclair/elm-crypto-string@2.0.2
No solution for billstclair/elm-crypto-string@2.1.0
No solution for jonathanfishbein1/elm-comment@5.0.3
No solution for javcasas/elm-decimal@1.0.0
No solution for etaque/elm-transit@4.0.1
No solution for enetsee/facet-render-svg-alpha@1.0.0
No solution for enetsee/facet-render-svg-alpha@1.0.1
No solution for enetsee/facet-render-svg-alpha@1.0.2
No solution for enetsee/facet-render-svg-alpha@1.0.3
No solution for primait/elm-form@11.0.0
No solution for primait/elm-form@12.0.0
No solution for avh4/elm-diff@1.0.0
No solution for avh4/elm-diff@1.0.1
No solution for avh4/elm-diff@1.0.2
No solution for avh4/elm-diff@1.0.3
No solution for avh4/elm-diff@1.0.4
No solution for avh4/elm-diff@1.0.5
No solution for circuithub/elm-bootstrap-html@4.0.1
No solution for circuithub/elm-bootstrap-html@4.0.2
No solution for Natim/elm-workalendar@1.0.0
No solution for Natim/elm-workalendar@1.0.1
No solution for nphollon/collision@1.0.0
No solution for allo-media/koivu@4.0.0
No solution for allo-media/koivu@4.1.0
No solution for allo-media/koivu@4.1.1
No solution for ktonon/elm-serverless@3.0.0
No solution for ktonon/elm-serverless@3.0.1
No solution for ktonon/elm-serverless@3.0.2
No solution for Warry/elmi-decoder@1.0.0
No solution for Warry/elmi-decoder@1.1.0
No solution for Warry/elmi-decoder@2.0.0
No solution for ktonon/elm-hmac@1.0.0
No solution for ktonon/elm-hmac@1.0.1
No solution for truqu/elm-base64@1.0.0
No solution for krisajenkins/elm-exts@10.0.0
No solution for krisajenkins/elm-exts@10.1.0
No solution for krisajenkins/elm-exts@10.2.0
No solution for krisajenkins/elm-exts@10.2.1
No solution for krisajenkins/elm-exts@10.2.2
No solution for krisajenkins/elm-exts@10.2.3
No solution for krisajenkins/elm-exts@10.2.4
No solution for krisajenkins/elm-exts@10.2.5

view this post on Zulip Matthieu Pizenberg (Nov 15 2020 at 17:20):

I'm doing a complete analysis because I'll post something on the elm discourse later. But don't worry, the issue is not with pubgrub but with the elm package registry. Most of the "no solution" are due to packages that do not exist anymore in the package registry or some other weird shenanigan that pubgrub spotted and I guess the elm binary didn't. Anyway, I've not finished analysis yet but didn't found a single case where pubgrub was wrong :)

view this post on Zulip Alex Tokarev (Nov 15 2020 at 17:33):

Good news! Mind posting a link to discourse when it's done?

view this post on Zulip Eh2406 (Nov 15 2020 at 18:24):

/r/rust my want a to read up on your post.

view this post on Zulip Matthieu Pizenberg (Nov 15 2020 at 18:26):

I've some work to prepare it but should be ready tomorrow. I'll share with you guys so you can let me know what you think of it and if we should also post something on /r/rust

view this post on Zulip Eh2406 (Nov 16 2020 at 13:58):

Overnight I was thinking, if you are doing something cool with pubgrub (and you are) we should probably let Natalie know. And probably we should get her revue of the guide when it is ready for it.

view this post on Zulip Matthieu Pizenberg (Nov 16 2020 at 14:01):

I've been fighting with plots for more than 2 hours now ahahah. Did a bit of data exploration with vega data voyager, really cool tool, but now struggling making the exact plots I want ^^

view this post on Zulip Matthieu Pizenberg (Nov 16 2020 at 14:02):

Regarding the guide, agreed, I was just waiting first for Alex feedback but you can definitely share with Natalie once first round of feedback is done

view this post on Zulip Matthieu Pizenberg (Nov 16 2020 at 14:04):

image.png JS is just crazy these days. This is after downloading 1421 packages, just for that project

view this post on Zulip Matthieu Pizenberg (Nov 16 2020 at 14:04):

(vega editor project)

view this post on Zulip Alex Tokarev (Nov 16 2020 at 14:05):

I guess you need rsync installed on your machine, which npm doesn't list as an explicit dependency.

view this post on Zulip Alex Tokarev (Nov 16 2020 at 14:07):

Could happen with Rust as well, I've seen some packages assume "git" is installed in the system.

view this post on Zulip Alex Tokarev (Nov 16 2020 at 14:09):

Unfortunate but unclear how to avoid. In case of git you can depend on libgit, but in general when you need some system binary and it doesn't have bindings in your language ecosystem... Tough luck

view this post on Zulip Alex Tokarev (Nov 16 2020 at 14:11):

Regarding the guide, agreed, I was just waiting first for Alex feedback but you can definitely share with Natalie once first round of feedback is done

I'll continue reading through tomorrow :smile: I remember I also need to change some parts related to make_decision, will note as I go.


Last updated: Oct 21 2021 at 20:47 UTC