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

Use NO_EXPORT_DYNAMIC_SYMBOLS() for ydbd in order to reduce binary size #5690

Merged
merged 2 commits into from
Jun 20, 2024

Conversation

maximyurchuk
Copy link
Collaborator

@maximyurchuk maximyurchuk commented Jun 18, 2024

Changelog entry

See info in
https://wiki.yandex-team.ru/kikimr/ydb-qa/build-time-size-ideas/#inprogressnoexportdynamicsymbols
https://clubs.at.yandex-team.ru/arcadia/26226

This change removes exporting of all symbols in binary

Changelog category

  • Not for changelog (changelog entry is not required)

Additional information

Stack trace capturing is still works, see check in #5706 and ydb/tests/functional/scheme_shard/test_alter_ops.py test

Copy link

github-actions bot commented Jun 18, 2024

2024-06-18 16:58:40 UTC Pre-commit check for 75643f5 has started.
2024-06-18 17:00:44 UTC Build linux-x86_64-release-asan is running...
🟢 2024-06-18 17:02:08 UTC Build successful.
2024-06-18 17:02:17 UTC Tests are running...
🔴 2024-06-18 18:01:05 UTC Some tests failed, follow the links below.

Test history | Test log

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
2342 1782 0 73 324 163

Copy link

github-actions bot commented Jun 18, 2024

2024-06-18 17:27:04 UTC Pre-commit check for 75643f5 has started.
2024-06-18 17:29:11 UTC Build linux-x86_64-release-clang14 is running...
🟢 2024-06-18 17:33:55 UTC Build successful.

Copy link

github-actions bot commented Jun 18, 2024

2024-06-18 20:44:16 UTC Pre-commit check for 75643f5 has started.
2024-06-18 20:46:19 UTC Build linux-x86_64-relwithdebinfo is running...
🟢 2024-06-18 20:47:21 UTC Build successful.
2024-06-18 20:47:30 UTC Tests are running...
🔴 2024-06-18 20:50:12 UTC Test run completed, no test results found for commit 9c87b70. Please check test log.
2024-06-18 20:50:18 UTC Check cancelled

@maximyurchuk maximyurchuk added the rebase-and-check Rebase PR with the current main and check label Jun 18, 2024
@github-actions github-actions bot removed the rebase-and-check Rebase PR with the current main and check label Jun 18, 2024
Copy link

github-actions bot commented Jun 18, 2024

2024-06-18 20:53:45 UTC Pre-commit check for ede2139 has started.
2024-06-18 20:55:53 UTC Build linux-x86_64-release-clang14 is running...
🟢 2024-06-18 20:57:03 UTC Build successful.

Copy link

github-actions bot commented Jun 18, 2024

2024-06-18 20:53:53 UTC Pre-commit check for ede2139 has started.
2024-06-18 20:56:09 UTC Build linux-x86_64-release-asan is running...
🟢 2024-06-18 20:57:21 UTC Build successful.
2024-06-18 20:57:44 UTC Tests are running...
🔴 2024-06-18 21:56:51 UTC Some tests failed, follow the links below.

Test history | Test log

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
2341 1785 0 76 318 162

🟢 2024-06-18 21:57:25 UTC merge: ede2139 ydbd size 5.4 GiB -279.5 MiB -4.771% vs build main: 9b24426

Build size details

main: 9b24426 ydbd build size:

  • binary size 6 143 410 880 Bytes
  • stripped binary size 1 526 376 384 Bytes

merge: ede2139 ydbd build size:

  • binary size 5 850 310 888 Bytes
  • stripped binary size 1 254 844 744 Bytes

ydbd size dashboard

Copy link

github-actions bot commented Jun 18, 2024

2024-06-18 20:53:59 UTC Pre-commit check for ede2139 has started.
2024-06-18 20:56:07 UTC Build linux-x86_64-relwithdebinfo is running...
🟢 2024-06-18 20:57:15 UTC Build successful.
2024-06-18 20:57:32 UTC Tests are running...
🟢 2024-06-18 21:35:35 UTC Tests successful.

Test history | Test log

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
3241 3205 0 0 29 7

🟢 2024-06-18 21:35:58 UTC merge: ede2139 ydbd size 8.3 GiB -235.2 MiB -2.679% vs build main: 9b24426

Build size details

main: 9b24426 ydbd build size:

  • binary size 9 205 173 616 Bytes
  • stripped binary size 710 869 008 Bytes

merge: ede2139 ydbd build size:

  • binary size 8 958 581 432 Bytes
  • stripped binary size 490 668 552 Bytes

ydbd size dashboard

Copy link

github-actions bot commented Jun 19, 2024

2024-06-19 09:26:15 UTC Pre-commit check for 9adbb7b has started.
2024-06-19 09:28:12 UTC Build linux-x86_64-relwithdebinfo is running...
🟢 2024-06-19 09:29:11 UTC Build successful.
2024-06-19 09:29:27 UTC Tests are running...
🟢 2024-06-19 10:08:15 UTC Tests successful.

Test history | Test log

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
3241 3205 0 0 29 7

🟢 2024-06-19 10:08:32 UTC merge: 9adbb7b ydbd size 8.3 GiB -235.2 MiB -2.679% vs build main: 26880b1

Build size details

main: 26880b1 ydbd build size:

  • binary size 9 205 173 616 Bytes
  • stripped binary size 710 869 008 Bytes

merge: 9adbb7b ydbd build size:

  • binary size 8 958 581 432 Bytes
  • stripped binary size 490 668 552 Bytes

ydbd size dashboard

Copy link

github-actions bot commented Jun 19, 2024

2024-06-19 09:27:47 UTC Pre-commit check for 9adbb7b has started.
2024-06-19 09:29:55 UTC Build linux-x86_64-release-clang14 is running...
🟢 2024-06-19 09:31:02 UTC Build successful.

Copy link

github-actions bot commented Jun 19, 2024

2024-06-19 09:27:53 UTC Pre-commit check for 9adbb7b has started.
2024-06-19 09:30:00 UTC Build linux-x86_64-release-asan is running...
🟢 2024-06-19 09:31:11 UTC Build successful.
2024-06-19 09:31:24 UTC Tests are running...
🔴 2024-06-19 10:32:02 UTC Some tests failed, follow the links below.

Test history | Test log

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
2343 1783 0 74 322 164

🟢 2024-06-19 10:32:37 UTC merge: 9adbb7b ydbd size 5.4 GiB -279.5 MiB -4.771% vs build main: 26880b1

Build size details

main: 26880b1 ydbd build size:

  • binary size 6 143 410 880 Bytes
  • stripped binary size 1 526 376 384 Bytes

merge: 9adbb7b ydbd build size:

  • binary size 5 850 310 888 Bytes
  • stripped binary size 1 254 844 744 Bytes

ydbd size dashboard

@maximyurchuk maximyurchuk changed the title NO_EXPORT_DYNAMIC_SYMBOLS() Use NO_EXPORT_DYNAMIC_SYMBOLS() for ydbd in order to lower binary size Jun 19, 2024
@maximyurchuk maximyurchuk changed the title Use NO_EXPORT_DYNAMIC_SYMBOLS() for ydbd in order to lower binary size Use NO_EXPORT_DYNAMIC_SYMBOLS() for ydbd in order to reduce binary size Jun 19, 2024
@maximyurchuk maximyurchuk marked this pull request as ready for review June 19, 2024 11:22
Copy link
Member

@Enjection Enjection left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tried this branch locally, seem's that everything works. The only considerations I have is about some potential weird usages inside arcadia, I would try to apply this commit there first and see whether something will be broken or not.

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.

2 participants