-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
chore(dev, releasing): Have Cargo.toml release
profile match what releases are published with
#20034
base: master
Are you sure you want to change the base?
chore(dev, releasing): Have Cargo.toml release
profile match what releases are published with
#20034
Changes from all commits
03456ab
7d2cbbd
ec1efd8
6f7673d
15269c9
8270333
5720ff3
cf51de7
4f73c5d
bbac36a
602e6e9
ddf822c
d150b1f
e40f048
ec661bb
63cc679
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -45,7 +45,7 @@ env: | |
TEST_LOG: vector=debug | ||
VERBOSE: true | ||
CI: true | ||
PROFILE: debug | ||
PROFILE: dev | ||
|
||
jobs: | ||
prep-pr: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,6 +10,7 @@ jobs: | |
timeout-minutes: 45 | ||
env: | ||
CARGO_INCREMENTAL: 0 | ||
PROFILE: dev | ||
strategy: | ||
matrix: | ||
target: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -45,7 +45,7 @@ env: | |
VERBOSE: true | ||
DISABLE_MOLD: true | ||
CI: true | ||
PROFILE: debug | ||
PROFILE: dev | ||
|
||
jobs: | ||
changes: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -41,11 +41,17 @@ path = "tests/integration/lib.rs" | |
name = "e2e" | ||
path = "tests/e2e/mod.rs" | ||
|
||
# CI-based builds use full release optimization. See scripts/environment/release-flags.sh. | ||
# This results in roughly a 5% reduction in performance when compiling locally vs when | ||
# compiled via the CI pipeline. | ||
[profile.release] | ||
debug = false # Do not include debug symbols in the executable. | ||
lto = true | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is "fat" worthwhile vs "thin"? Technically there's a few variants to choose.
In my testing with build size and time, I didn't see much value from building Vector with From what I've read of those that profile between thin and fat/full LTO there's barely a statistical difference in improvement to warrant the excess build time. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good thought. Once this is merged, we can benchmark against There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I found this blogpost that explains the difference for
That's interesting, would be good to know how that compes to Was the References: https://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html
https://convolv.es/guides/lto/
Not sure how much it differs between GCC vs Clang as the linker driver. I think with Clang you need to have a compatible version to the Rust toolchain used (at least if doing cross-language LTO) which may not work as well with the CI image builds using |
||
codegen-units = 1 | ||
|
||
# This profile is useful for local performance testing. It results in roughly a 5% reduction in | ||
# performance compared with the full release profile but compiles much more quickly. | ||
[profile.dev-perf] | ||
inherits = "release" | ||
lto = false | ||
codegen-units = 16 | ||
bruceg marked this conversation as resolved.
Show resolved
Hide resolved
|
||
debug = true | ||
|
||
[profile.bench] | ||
debug = true | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,6 +37,3 @@ fi | |
# ci image to install a newer version of node. | ||
sudo npm -g install [email protected] | ||
sudo npm -g install @datadog/datadog-ci | ||
|
||
# Make sure our release build settings are present. | ||
. scripts/environment/release-flags.sh |
This file was deleted.
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.
This is the default so I dropped it.