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

Projects
None yet
5 participants
@sarahmarshy
Contributor

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

This comment has been minimized.

Member

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

@0xc0170

See my first comment

@sarahmarshy

This comment has been minimized.

Contributor

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

This comment has been minimized.

Member

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?

@0xc0170 0xc0170 added the needs: work label Jun 19, 2017

Turn off "browse information" in Uvision template
"Browse information," or the indexer for MDK, causes extremely long
build times when enabled.

@sarahmarshy sarahmarshy force-pushed the sarahmarshy:patch-10 branch to 2abe6be Jun 19, 2017

@sarahmarshy

This comment has been minimized.

Contributor

sarahmarshy commented Jun 19, 2017

@0xc0170 updated the commit message.

@0xc0170 0xc0170 added needs: CI and removed needs: work labels Jun 19, 2017

@jkrech

This comment has been minimized.

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

This comment has been minimized.

Member

0xc0170 commented Jun 22, 2017

Thank you @jkrech for the info.

I'll run CI

/morph export-build

@mbed-bot

This comment has been minimized.

mbed-bot commented Jun 22, 2017

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!

@0xc0170 0xc0170 merged commit ea4220d into ARMmbed:master Jun 22, 2017

4 checks passed

Cam-CI uvisor Build & Test Success
Details
ci/morph-export-build Job has completed
Details
continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@bridadan

This comment has been minimized.

Contributor

bridadan commented Jun 22, 2017

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