Details
Description
a) Whenever an artifact changes, all its inputs are re-scanned recursively, with no regards to whether they have actually changed themselves. Thus we have many more potentially expensive file system operations than we would actually need.
b) Every artifact keeps a full (i.e. recursive) list of all its dependencies, which takes a lot of memory.
I believe that both of these problems can be solved by attaching more information to the FileDependency class (namely: Which dependencies were introduced at what time with which scanner and configuration).
Attachments
For Gerrit Dashboard: QBS-1052 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
179453,2 | Add autotest for artifact scanning | master | qbs/qbs | Status: MERGED | +2 | 0 |
180721,3 | Do not remove artifacts from the scan result cache | master | qbs/qbs | Status: MERGED | +2 | 0 |
181394,3 | Make scanning information persistent | master | qbs/qbs | Status: MERGED | +2 | 0 |