Skip to content
This repository has been archived by the owner on Aug 2, 2020. It is now read-only.

Fix performance regression #20

Closed
snowleopard opened this issue Dec 22, 2015 · 3 comments
Closed

Fix performance regression #20

snowleopard opened this issue Dec 22, 2015 · 3 comments
Assignees

Comments

@snowleopard
Copy link
Owner

Zero build jumped from 6 seconds to 65 on my machine after I fixed these two issues: #15 and #19. Not sure what the reason is yet, but I suspect findModuleFiles in Settings.hs.

@snowleopard snowleopard self-assigned this Dec 22, 2015
@snowleopard
Copy link
Owner Author

The issue is actually in Rules/Generate.hs which runs expensive findModuleFiles too often.

@snowleopard
Copy link
Owner Author

To improve performance I implemented caching for findModuleFiles, see Oracles/ModuleFiles.hs in cf825fe. Zero build time is back to 6 sec.

Further performance improvements are possible, I'll keep working on this.

@snowleopard snowleopard changed the title Fix performance regression. Fix performance regression Dec 24, 2015
@snowleopard
Copy link
Owner Author

Further work on this issue: 013fa90. Oracles/ModuleFiles.hs got a lot simpler, and average zero build time is down to 5 sec. There is further room for improvement (some parts of the source tree are scanned twice).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant