Track usage - knowlesy/AZ400 GitHub Wiki
Loop optimization Having categorized the steps within the loop, it's now possible to make some general statements:
• You want to execute the loop as fast as possible and for the total loop execution time to be proportional to the changes made.
• You want to minimize the time feedback collection takes but maximize the quality of the feedback that you get.
• You want to minimize the tax you pay by eliminating it where it's unnecessary to run through the loop (can you defer some operations until you commit, for example).
• As new code and more complexity are added to any codebase, the amount of outward pressure to increase the size of the inner loop also increases. More code means more tests, which means more execution time and slow execution of the inner loop.
There are several things that a team can do to optimize the inner loop for larger codebases:
Only build and test what was changed. Cache intermediate build results to speed up to complete builds. Break up the codebase into small units and share binaries.