-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expose CLI for egglog-experimental
#510
Conversation
CodSpeed Performance ReportMerging #510 will not alter performanceComparing Summary
|
I would review this PR commit-by-commit, they are all pretty small and well separated, and the last one is code motion (necessary to expose the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a small question and otherwise it looks good
After talking to people offline I believe that the |
@DaniPopes we are thinking about simplifying our build dependencies and removing the feature flags that used to keep the build thin. Please take a look at this PR. Since you made #467, do you have any usage for having these feature flags? |
Yes, it's for excluding clap, graphviz, chrono... dependencies that are unused when importing egglog as a library. This brings the total dependencies imported from 133 down to 56. |
@DaniPopes Do you have a use case where having fewer dependencies matters? For context, the egglog team's current goal is to stabilize this crate by June, and it doesn't seem like having Cargo features is worth the smaller build to me. That said, if someone depends on this, we can support it as a library feature. |
I think the ping failed (I edited it in), my bad. @DaniPopes |
Well it's not really a use case, but I would say it's pretty significant the fact that it's 3 times faster to build basically for free? Having feature gates for the library, required to build the binary is a pretty common pattern for this reason; the features are enabled by default to allow "cargo install" to work without extra flags, and library users can opt-in to lower dependencies with default-features=false |
I've added back the features. I've cut the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!!
This PR exposes the command-line interface so that the
egglog-experimental
crate can reuse it, as well as significantly improving the existing source code.