title: Methods for speeding up build time in a project using bitbake?
body: <p>I'm working in a project which has many bitbake recipes and takes a lot of time - up to 13 hours in some cases. I am new to bitbake and I'm asking for some way to:</p>
  
  <ul>
  <li>check what packages take more to build</li>
  <li>check very long dependencies (I have used bitbake -g already)</li>
  <li>check if there are any circular dependencies and how to solve them</li>
  <li>check if there are recipes which aren't used and how to safely remove them</li>
  </ul>
  
  <p>or any suggestions for using any tools for better managing and understanding recipes.</p>
  
  <p>Or any methods/ways for speeding up the build process in general.</p>
  
  <p>Both suggestions and exact techniques are welcomed.</p>
  
  <p><strong>EDIT date 07/08/2013:</strong></p>
  
  <p>Found this useful tool for tracking dependencies</p>
  
  <p><a href="https://github.com/scottellis/oe-deptools">https://github.com/scottellis/oe-deptools</a></p>
  
  <p>Description:</p>
  
  <pre><code>./oey.py -h
  
  Usage: ./oey.py [options] [package]
  
  Displays OE build dependencies for a given package or recipe.
  Uses the pn-depends.dot file for its raw data.
  Generate a pn-depends.dot file by running bitbake -g &lt;recipe&gt;.
  
  Options:
  -h      Show this help message and exit
  -v      Show error messages such as recursive dependencies
  -r      Show reverse dependencies, i.e. packages dependent on package
  -f      Flat output instead of default tree output
  -d &lt;depth&gt;      Maximum depth to follow dependencies, default and max is 10
  -s      Show child package dependencies that are already listed
          as direct parent dependencies.
  
  Provide a package name from the generated pn-depends.dot file.
  Run the program without a package name to get a list of
  available package names.
  </code></pre>