Skip to content
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

Decrease compile time. #26

Open
avhz opened this issue May 25, 2023 · 8 comments
Open

Decrease compile time. #26

avhz opened this issue May 25, 2023 · 8 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@avhz
Copy link
Owner

avhz commented May 25, 2023

Compile time increased quite substantially after adding Polars as a dependency.
Should look into reducing the compile time a bit if possible.

@avhz avhz added help wanted Extra attention is needed good first issue Good for newcomers labels May 25, 2023
@avhz
Copy link
Owner Author

avhz commented Jun 19, 2023

Have made polars crate part of an opt-in feature.

@Harshal662
Copy link

we can remove https://github.com/avhz/RustQuant/blob/634735dd5d860af26f5e31091aca44ee69ea2430/Cargo.toml#L45C16-L45C16

and edit data = ["dep:polars/default"]

data = ["dep:polars"]

@avhz
Copy link
Owner Author

avhz commented Jun 25, 2023

The way I have it currently reduces the number of dependencies compiled from 400+ to around 270-280.

Are you saying we should remove optional = true and change polars to a default feature ? This would increase the dependencies compiled to 400+ again wouldn't it ?

@Harshal662
Copy link

Ohh My bad we can keep it as true and data = [] ( empty) , the data feature is disabled by default, meaning Polars will not be included in the compilation process unless explicitly enabled using the --features data flag or specifying features = ["data"] in the Cargo.toml file.

@avhz
Copy link
Owner Author

avhz commented Jun 25, 2023

But polars is already not included unless data is specified as a feature.

Why do you want to have data = [] instead of data = ["dep:polars"] ?

@avhz avhz mentioned this issue Feb 25, 2024
11 tasks
@kelvincesar
Copy link

Hello! Came here by the first good issue tag.

Is this still a problem? Maybe separate the project into smaller crates could improve the compile time

@avhz
Copy link
Owner Author

avhz commented Oct 1, 2024

@kelvincesar thanks for the comment :) I have considered doing this but am worried about running into issues with the orphan rules.

@kelvincesar
Copy link

@avhz you're right, that can be a problem. In this case we would have to create new types around the existing ones plus replicate their methods (https://doc.rust-lang.org/book/ch19-03-advanced-traits.html#using-the-newtype-pattern-to-implement-external-traits-on-external-types). I don't know if this make sense

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants