[SERVER-28595] Understand the cause of slow incremental rebuild times Created: 03/Apr/17 Updated: 08/Dec/21 Resolved: 30/Jul/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Justin Cohler | Assignee: | Andrew Morrow (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Sprint: | Platforms 2017-04-17, Dev Tools 2019-03-25, Dev Tools 2019-04-08, Dev Tools 2019-05-06, Dev Tools 2019-04-22, Dev Tools 2019-08-12, Dev Tools 2019-08-26, Dev Tools 2019-09-09, Dev Tools 2019-09-23, Dev Tools 2019-10-07, Dev Tools 2019-10-21 | ||||||||
| Participants: | |||||||||
| Comments |
| Comment by bdbaddog#1 [ 25/May/17 ] | ||
Notes (all are for null incremental builds)
Looks like many places where micro-optimizations may help. | ||
| Comment by bdbaddog#1 [ 21/Apr/17 ] | ||
|
A few notes on what I've investigated so far. Also of note. dblite does have a "dirty" flag to indicate when something has been changed in what it expects to write and to only write when it's dirty. So even with a null build, it's still getting set and writing. I did see a few benchmarks which noted that using JSON for persistance may be an order of magnitude faster. May be worth investigating. | ||
| Comment by Andrew Morrow (Inactive) [ 13/Apr/17 ] | ||
|
We have cherry-picked that change in: https://github.com/mongodb/mongo/commit/59681ee6603fc43f0f3209ec0f9c6a09476edfcc | ||
| Comment by bdbaddog#1 [ 13/Apr/17 ] | ||
|
Looks like you have scons-2.5.0 in your third_party sources.
| ||
| Comment by Andrew Morrow (Inactive) [ 05/Apr/17 ] | ||
|
bdbaddog - I've attached profiling data to this ticket, you should be able to view it with the above commands. Here are some observations:
| ||
| Comment by Andrew Morrow (Inactive) [ 05/Apr/17 ] | ||
|
I'm attaching profile data for a no-op SCons rebuild, run as:
You can view this data with
|