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

Turn off "browse information" in Uvision template #4578

Merged
merged 1 commit into from
Jun 22, 2017

Conversation

sarahmarshy
Copy link
Contributor

@sarahmarshy sarahmarshy commented Jun 16, 2017

Description

We were seeing extraordinarily long build times in Uvision 5.24. Sometimes > than 20 minutes for blinky. @bridadan reported 10 minute builds during export-build tests, even on the CI machines. I've found that enabling Uvision's "browse information," which is essentially their indexer, is responsible for this. With this option turned off, I saw a 19 minute reduction in build time when compiling blinky for NUCLEO_F439ZI.

As a note, I realize this is an important feature for the IDE. If a user tries to use it when the option is turned off, Uvision provides instructions for turning it on.

Status

READY

Steps to test or reproduce

In uvision, go to: options for target > output> browse information. Try compiling with it on/off.

@theotherjimmy

@0xc0170
Copy link
Contributor

0xc0170 commented Jun 19, 2017

when was this option with 1 introduced?

I noticed the build times recently were too long and my machine was not usable during it. What does this option do, I dont see explained, how a user is impacted with this option off (neither in the commit message, should specify why we are turning it off). Please update

Copy link
Contributor

@0xc0170 0xc0170 left a comment

Choose a reason for hiding this comment

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

See my first comment

@sarahmarshy
Copy link
Contributor Author

sarahmarshy commented Jun 19, 2017

It is the indexer. The option "go to definition" or "find usages" for a symbol show up in the context menu if you right click.

@0xc0170
Copy link
Contributor

0xc0170 commented Jun 19, 2017

It is the indexer. The option "go to definition" or "find usages" for a symbol show up in the context menu if you right click.

Can you update the commit message - why we are turning it off, we will run the CI right after.

Interesting this affects building. Thanks for the description

cc @ReinhardKeil if anyone from the team can have a look at this, could indexer cause x minutes delay with building?

"Browse information," or the indexer for MDK, causes extremely long
build times when enabled.
@sarahmarshy
Copy link
Contributor Author

@0xc0170 updated the commit message.

@jkrech
Copy link

jkrech commented Jun 22, 2017

Just giving some background information:
when using ARM Compiler 5 the source browse information is generated by the compiler during the build.
The checkbox "Browse Information" leads to the commandline flag --omf_browse.
In addition to .o you will see the files .crf containing the source browse information used by uVision features "Go to definition of ..." and "Go to reference" and the source browse window.

As the ARM Compiler 6 does not generate this omf source browse information, we have developed a way to generate this source browse information dynamically using the armclang and therefore it becomes independent from the build of the application, hence no impact on the build time.
We also have redesigned the "source browser" window.

This will be release as part of MDK 5.24 later next week but only becomes effective if the ARM compiler 6 is selected.

If you have any questions, don't hesitate to contact me (@jkrech)

@0xc0170
Copy link
Contributor

0xc0170 commented Jun 22, 2017

Thank you @jkrech for the info.

I'll run CI

/morph export-build

@mbed-bot
Copy link

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph export-build

Output

mbed Build Number: 72

All exports and builds passed!

@bridadan
Copy link
Contributor

Build time went from 2.5 hours to just over an hour, much much better! Thanks so much @sarahmarshy for fixing this!

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.

5 participants