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

Do not emit single LLVM IR file for release mode + LTO none #3514

Merged
merged 1 commit into from Oct 1, 2023

Conversation

tanishiking
Copy link
Member

fix #3502

This performance hack seems to be introduced when
there's no LTO option is available in scala-native (or LLVM at that time?)
#506

Am I correct that it's ok to remove this performance hack since we now have LTO option that optimize the LLVM IR by LTO option?

fix scala-native#3502

This performance hack seems to be introduced when
there's no LTO option is available in scala-native (or LLVM at that
time?)
scala-native#506
@WojciechMazur
Copy link
Contributor

Am I correct that it's ok to remove this performance hack since we now have LTO option that optimize the LLVM IR by LTO option?

Yes, but mostly because combination of release+no lto leads to very bad development experience. Enoromous build times, are not a good trade for not that big performance improvement.
LTO is recommended for all release builds, but we cannot enable it by default - mostly becouse of problems on MacOs machines.

@LeeTibbert
Copy link
Contributor

LeeTibbert commented Sep 28, 2023

@tanishiking

Do you think this is a candidate to be ported back to the 0.4.n stream? If yes, could you try adding
a "Backport Candidate" (and probably a "component:build") label/labels. If GitHub will not let
you do that, yell and I'll add them.

Trying to get your/our good stuff into the hands of people who use it directly. BTW, thank you for
picking this off.

@tanishiking
Copy link
Member Author

Hi @LeeTibbert I don't think this change can be a backport candidate to 0.4, because while I think important bugfixes should be backported to 0.4, this is an improvement of sorts. This improvement might motivate native Scala users to bump to 0.5. My two cents. Anyway, thank you for asking!

@WojciechMazur WojciechMazur merged commit 7f9d75f into scala-native:main Oct 1, 2023
76 checks passed
WojciechMazur pushed a commit to WojciechMazur/scala-native that referenced this pull request Oct 4, 2023
…tive#3514)

fix scala-native#3502

This performance hack seems to be introduced when
there's no LTO option is available in scala-native (or LLVM at that
time?)
scala-native#506
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove emitting single file when using LTO=none + release mode
3 participants