Project

General

Profile

Support #5274

Larreco taking a very long time to build after small change

Added by Wesley Ketchum about 6 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
-
Target version:
-
Start date:
01/27/2014
Due date:
% Done:

0%

Estimated time:
Experiment:
MicroBooNE
Co-Assignees:
Duration:

Description

We're finding larreco to be taking an incredibly long time to build after just minor changes.

Tested by including, or commenting out, a single cout statement in RecoAlg/CCHitRefiner.cxx. Timing done via unix 'time' command, on uboonegpvm02.

SRT: 'time make':
real 0m19.986s
user 0m9.579s
sys 0m5.009s

mrb: 'time mrb i -j4':
real 7m2.440s
user 1m43.924s
sys 6m27.011s

In particular, it's shocking how long the initial "stage cmake" takes, but even removing that the build itself takes a significantly longer amount of time, and after the build it looks like it 'builds' again before doing the install (checking the build?).

History

#1 Updated by Erica Snider about 6 years ago

  • Status changed from New to Feedback
  • Assignee set to Erica Snider

Hi Wes,
I learned a new recipe you should try. If (a) you've already run 'mrb b' or 'mbr i' in a particular working area, and (b) you have run the setup and 'source mrb setEnv' during this login session (and not done anything to mess that up), then after modifying code under srcs, you can just cd into the build directory and type 'make'. Sounds like it should solve at least some of the problem.

Can you please try that and let me know what you find?

Thanks,
Erica

#2 Updated by Wesley Ketchum about 6 years ago

Hi Erica,

It does indeed go much faster---I'll try to post some updated timing when I can. Right now, I tried to do that but just got hammered as someone else is running on many cores on the machine.

Thanks!

#3 Updated by Lynn Garren about 6 years ago

There are 3 make targets:
make (no explicit target, just does the build)
make test (moot since none of the larsoft packages have unit tests)
make install (does the build and install)

Also an important consideration is that if you add or remove a file to the source code tree, you will need to rerun cmake with either mrb b or mrb i.

#4 Updated by Lynn Garren about 6 years ago

FYI: mrb b runs buildtool which has a number of options which might be very useful. "mrb b -h" will list those options.

#5 Updated by Erica Snider about 6 years ago

  • Status changed from Feedback to Resolved

Hi Wes,
I am assuming this issue is resolved for the moment, which is not to say that we should stop looking for ways to make everything run faster. We will of course continue to do that.

If you want me to keep this open, please let me know and we can discuss how to proceed. Otherwise, I will close this issue.

Thanks!
Erica

#6 Updated by Erica Snider about 6 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF