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

Build system: disable OUTPUT_DISASSEMBLY by default #61023

Merged

Conversation

jori-nordic
Copy link
Collaborator

@jori-nordic jori-nordic commented Aug 1, 2023

This on-by-default option takes the majority of "link" time. If people need the disassembly, they can turn it on.

Incremental builds of the bluetooth tester app:

west build -b nrf52840dk_nrf52840 zephyr/tests/bluetooth/shell
touch zephyr/subsys/bluetooth/shell/bt.c
time west build -b nrf52840dk_nrf52840
Before:
real    0m6,621s
user    0m6,430s
sys     0m0,175s

After:
real    0m1,011s
user    0m0,840s
sys     0m0,170s
rm -rf build
time west build -p -b nrf52840dk_nrf52840 zephyr/tests/bluetooth/shell
Before:
real    0m9,726s
user    0m11,735s
sys     0m2,665s

After:
real    0m4,545s
user    0m8,006s
sys     0m2,723s

This on-by-default option takes the majority of "link" time.
If people need the disassembly, they can turn it on.

Incremental builds of the bluetooth tester app:

```bash
west build -b nrf52840dk_nrf52840 zephyr/tests/bluetooth/shell
touch zephyr/subsys/bluetooth/shell/bt.c
time west build -b nrf52840dk_nrf52840
```

Before:
real    0m6,621s
user    0m6,430s
sys     0m0,175s

After:
real    0m1,011s
user    0m0,840s
sys     0m0,170s

```bash
rm -rf build
time west build -p -b nrf52840dk_nrf52840 zephyr/tests/bluetooth/shell
```

Before:
real    0m9,726s
user    0m11,735s
sys     0m2,665s

After:
real    0m4,545s
user    0m8,006s
sys     0m2,723s

Signed-off-by: Jonathan Rico <[email protected]>
@jori-nordic
Copy link
Collaborator Author

This will save CI 💲💲💲

Copy link
Collaborator

@alwa-nordic alwa-nordic left a comment

Choose a reason for hiding this comment

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

LGTM

@jori-nordic
Copy link
Collaborator Author

Build failure seems unrelated:

CMake Error at /__w/zephyr/zephyr/cmake/modules/zephyr_module.cmake:77 (message): ERROR: no local "manifest.path" config option is set

Copy link
Member

@aescolar aescolar left a comment

Choose a reason for hiding this comment

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

Appreciated :)

@jori-nordic
Copy link
Collaborator Author

@tejlmand would you know where I can document that zephyr.lst will not be produced by default in the build/ folder?

@carlescufi carlescufi requested a review from tejlmand August 7, 2023 11:07
@fabiobaltieri
Copy link
Member

Wow, who knew... maybe in release notes? The other bit in the doc where this is mentioned is https://docs.zephyrproject.org/latest/develop/beyond-GSG.html#build-blinky "Other binary formats, disassembly, and map files may be present depending on your board."

@fabiobaltieri fabiobaltieri assigned tejlmand and unassigned nashif Aug 9, 2023
@fabiobaltieri fabiobaltieri merged commit cc57633 into zephyrproject-rtos:main Aug 9, 2023
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.

7 participants