Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

virtual-target.register 6x performance improvement #303

Conversation

Kojoley
Copy link
Contributor

@Kojoley Kojoley commented May 4, 2023

total 79.2 -> 13.2 (6.0x)
self 34.2 -> 8.1 (4.2x)

target.actual-name is an ideal cache key because it is already used to register targets in the build engine which requires on it to be unique enough to not collide, while also is the shortest unique identifying string which is for a file targets consists of the target relevant properties, path prefix and name.

This simplification also makes it easy to port register/recent-targets/clear-recent-targets/all-targets to native which probably will have a significant impact too (at least on these 8 seconds virtual-target.register self time).

total 79.2 -> 13.2 (6.0x)
self 34.2 -> 8.1 (4.2x)

target.actual-name is an ideal cache key because it is already used to register targets in the build engine which requires on it to be unique enough to not collide, while also is the shortest unique identifying string which is for a file targets consists of the target relevant properties, path prefix and name.
@grafikrobot grafikrobot added the enhancement New feature or request label May 5, 2023
@grafikrobot grafikrobot merged commit 2f7f031 into bfgroup:main Jul 16, 2023
@Kojoley Kojoley deleted the feature/virtual-target.register-performance-improvement branch April 16, 2024 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants