Skip to content

Fully optimize cargo release builds and add debuggable release profile - #2184

Closed
SUPERCILEX wants to merge 3 commits into
BurntSushi:masterfrom
SUPERCILEX:patch-1
Closed

Fully optimize cargo release builds and add debuggable release profile#2184
SUPERCILEX wants to merge 3 commits into
BurntSushi:masterfrom
SUPERCILEX:patch-1

Conversation

@SUPERCILEX

Copy link
Copy Markdown

@SUPERCILEX

Copy link
Copy Markdown
Author

Ah, looks like the tests are using rust 1.52 but this needs 1.57: rust-lang/cargo#9943

@SUPERCILEX

Copy link
Copy Markdown
Author

@BurntSushi is there any interest in this? I'm wondering if it's worth bumping the MSRV.

@BurntSushi

BurntSushi commented Jun 20, 2022

Copy link
Copy Markdown
Owner

I'm totally fine to bump the MSRV, up to and including the latest Rust stable release.

In general, I don't really look at PRs like this unfortunately until I actually do a ripgrep release. At which point, I'll decide whether to bring it in by actually trying it out and playing around with it. If changes need to be made, I'll just do them by squashing them into your commit. If I didn't do that, then I'd be context switching all of the time and would get nothing done. Since I became a Dad, my release cycles have become longer.

So this PR might sit for some time. But I might be interested. Hard to say without actually giving it a whirl and seeing what it's actually like.

@SUPERCILEX

Copy link
Copy Markdown
Author

Ok, sounds good! I bumped the MSRV so this should be ready to merge if you decide you like it.

BTW, dunno if people have mentioned this before, but a big reason for supporting cargo installation is that you can use rustflags = ["-C", "target-cpu=native"] which will presumably get you slightly higher performance.

@BurntSushi

Copy link
Copy Markdown
Owner

BTW, dunno if people have mentioned this before, but a big reason for supporting cargo installation is that you can use rustflags = ["-C", "target-cpu=native"] which will presumably get you slightly higher performance.

Yeah I'm aware of that. I personally think cargo install is just more about convenience. Setting target-cpu=native is likely to help a little bit in certain workloads, but ripgrep already uses SIMD in its hot paths even when target-cpu is not set at all. I don't even bother compiling with target-cpu=native when benchmarking ripgrep. (Partially because I've never really seen it make much of a difference and partially because it's an uncommon build configuration.)

@SUPERCILEX SUPERCILEX closed this by deleting the head repository Feb 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants