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

Next version Discussion (0.10.0?) #439

Open
hasezoey opened this issue Mar 5, 2025 · 6 comments
Open

Next version Discussion (0.10.0?) #439

hasezoey opened this issue Mar 5, 2025 · 6 comments

Comments

@hasezoey
Copy link
Contributor

hasezoey commented Mar 5, 2025

This is a discussion for the next version, which i would recommend to be 0.10.0.

re #430 (comment) (to not de-rail that issue)


Maybe after you finish #429 ? [https://github.com//issues/430#issuecomment-2700310437]

I would like to have more testing for #429, so i would recommend to not include it in this version, but maybe for the next one.

@tramhao
Copy link
Owner

tramhao commented Mar 6, 2025

0.10.0 looks good to me.
I'm still debugging uslt issue. Currently switching lyrics at runtime is not working.

@tramhao
Copy link
Owner

tramhao commented Mar 6, 2025

By the way, lto=true slows down compilation almost double time. Is it worth it?

@tramhao
Copy link
Owner

tramhao commented Mar 6, 2025

0.10.0 looks good to me. I'm still debugging uslt issue. Currently switching lyrics at runtime is not working.

fixed.

@hasezoey
Copy link
Contributor Author

hasezoey commented Mar 6, 2025

By the way, lto=true slows down compilation almost double time. Is it worth it?

I would say it is worth it, at least for the release profile (cargo build --release). It is (to my knowledge) not enabled for the debug profile (cargo build).

Was it causing problems, or just slow compile times?

@tramhao
Copy link
Owner

tramhao commented Mar 6, 2025

Just slow compile time, especially when I modify some small things, the last stage costs like a new compile.

@hasezoey
Copy link
Contributor Author

hasezoey commented Mar 6, 2025

Just slow compile time, especially when I modify some small things, the last stage costs like a new compile.

Are you debugging in release mode?


Just some stats from my side (release build):

no lto lto net change
binary size tui 30393528 22898520 -7.1mb
binary size server 26595960 18309648 -7.9mb
compile time 1m30s 2m56s +1m26s

At b92b325, using (llvm-)lld linker (instead of system ld), rust 1.85, CPU AMD Ryzen 7 5800X 8-Core Processor.
I also noticed higher peak RAM usage with lto, but didnt measure it exactly.

I personally would say, as long as lto does not cause issues like erroring code, it should be enabled for release profiles, as that is what used to install from crates.io and also when running cargo install --path . (ie install from repository).

If you are not doing so already, might i recommend you switch to use the lld linker, either your system lld linker or the rust-lld linker. See my comment at #438 (comment) for examples.

Alternatively, consider adding a new profile that is similar to release, but does not have lto enabled, but not touching release so users can enjoy better optimized binaries. (as profile release is the default for cargo install)

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

No branches or pull requests

2 participants