-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement asynchronous glob prefetching to specifically prefetch the …
…globs() of a file. There is currently a mechanism in Bazel to asynchronously go off and prefetch file system content, specifically by recursively reading subdirectories up to maxDirectoriesToEagerlyVisitInGlobbing. This is started when the first glob in a file is found. It is useful to warm up caches in networked filesystems, but doesn't actually help evaluating the globs(). As it can create extra load on the filesystem, it can actually make evaluation slower. Moreover, it implicitly relies on the fact that in common packages, most files are actually read into globs() in some way, which isn't always the case. Instead, we can visit a build file's AST and eagerly try to explicitly extract globs that should be visited. This change is doing that if maxDirectoriesToEagerlyVisitInGlobbing is set to a sentinal value of -2. The visitor cannot understand all globs, e.g. when some of the pattern strings are constructed from complex expression, but the majority of globs is explicitly spelled out. RELNOTES: None. PiperOrigin-RevId: 234751342
- 9.0.0-pre.20250210.1
- 9.0.0-pre.20250128.3
- 9.0.0-pre.20250121.1
- 9.0.0-pre.20250115.2
- 9.0.0-pre.20250109.2
- 9.0.0-pre.20250106.2
- 9.0.0-pre.20241208.2
- 9.0.0-pre.20241208.1
- 9.0.0-pre.20241205.2
- 9.0.0-pre.20241125.4
- 9.0.0-pre.20241125.3
- 9.0.0-pre.20241119.2
- 9.0.0-pre.20241113.4
- 9.0.0-pre.20241105.2
- 9.0.0-pre.20241026.2
- 9.0.0-pre.20241023.1
- 9.0.0-pre.20241020.2
- 9.0.0-pre.20241016.1
- 8.1.1
- 8.1.1rc1
- 8.1.0
- 8.1.0rc4
- 8.1.0rc3
- 8.1.0rc2
- 8.1.0rc1
- 8.0.1
- 8.0.1rc1
- 8.0.0
- 8.0.0rc8
- 8.0.0rc7
- 8.0.0rc6
- 8.0.0rc5
- 8.0.0rc4
- 8.0.0rc3
- 8.0.0rc2
- 8.0.0rc1
- 8.0.0-pre.20240925.4
- 8.0.0-pre.20240911.1
- 8.0.0-pre.20240909.1
- 8.0.0-pre.20240826.1
- 8.0.0-pre.20240821.2
- 8.0.0-pre.20240819.2
- 8.0.0-pre.20240814.2
- 8.0.0-pre.20240812.1
- 8.0.0-pre.20240807.1
- 8.0.0-pre.20240805.3
- 8.0.0-pre.20240730.1
- 8.0.0-pre.20240729.1
- 8.0.0-pre.20240724.1
- 8.0.0-pre.20240718.2
- 8.0.0-pre.20240710.4
- 8.0.0-pre.20240701.1
- 8.0.0-pre.20240618.2
- 8.0.0-pre.20240607.2
- 8.0.0-pre.20240603.2
- 8.0.0-pre.20240530.1
- 8.0.0-pre.20240523.3
- 8.0.0-pre.20240516.1
- 8.0.0-pre.20240422.4
- 8.0.0-pre.20240415.1
- 8.0.0-pre.20240404.3
- 8.0.0-pre.20240401.3
- 8.0.0-pre.20240303.2
- 8.0.0-pre.20240303.1
- 8.0.0-pre.20240226.1
- 8.0.0-pre.20240213.1
- 8.0.0-pre.20240206.3
- 8.0.0-pre.20240128.3
- 8.0.0-pre.20240108.7
- 8.0.0-pre.20240108.6
- 8.0.0-pre.20240101.1
- 8.0.0-pre.20231030.2
- 7.5.0
- 7.5.0rc3
- 7.5.0rc2
- 7.5.0rc1
- 7.4.1
- 7.4.1rc2
- 7.4.1rc1
- 7.4.0
- 7.4.0rc4
- 7.4.0rc3
- 7.4.0rc2
- 7.4.0rc1
- 7.3.2
- 7.3.2rc1
- 7.3.1
- 7.3.1rc2
- 7.3.1rc1
- 7.3.0
- 7.3.0rc2
- 7.3.0rc1
- 7.2.1
- 7.2.1rc2
- 7.2.1rc1
- 7.2.0
- 7.2.0rc3
- 7.2.0rc2
- 7.2.0rc1
- 7.1.2
- 7.1.2rc2
- 7.1.2rc1
- 7.1.1
- 7.1.1rc2
- 7.1.1rc1
- 7.1.0
- 7.1.0rc2
- 7.1.0rc1
- 7.0.2
- 7.0.2rc1
- 7.0.1
- 7.0.1rc2
- 7.0.1rc1
- 7.0.0
- 7.0.0-pre.20231018.3
- 7.0.0-pre.20231011.2
- 7.0.0-pre.20230926.1
- 7.0.0-pre.20230917.3
- 7.0.0-pre.20230906.2
- 7.0.0-pre.20230823.4
- 7.0.0-pre.20230816.3
- 7.0.0-pre.20230810.1
- 7.0.0-pre.20230724.1
- 7.0.0-pre.20230710.5
- 7.0.0-pre.20230628.2
- 7.0.0-pre.20230530.3
- 7.0.0-pre.20230524.3
- 7.0.0-pre.20230517.4
- 7.0.0-pre.20230504.4
- 7.0.0-pre.20230502.1
- 7.0.0-pre.20230426.1
- 7.0.0-pre.20230420.2
- 7.0.0-pre.20230417.1
- 7.0.0-pre.20230412.2
- 7.0.0-pre.20230410.1
- 7.0.0-pre.20230405.2
- 7.0.0-pre.20230330.3
- 7.0.0-pre.20230322.4
- 7.0.0-pre.20230316.2
- 7.0.0-pre.20230306.4
- 7.0.0-pre.20230302.1
- 7.0.0-pre.20230215.2
- 7.0.0-pre.20230209.2
- 7.0.0-pre.20230128.3
- 7.0.0-pre.20230123.5
- 7.0.0-pre.20230118.2
- 7.0.0-pre.20230104.2
- 7.0.0-pre.20221212.2
- 7.0.0-pre.20221207.2
- 7.0.0-pre.20221204.2
- 7.0.0-pre.20221123.2
- 7.0.0-pre.20221111.3
- 7.0.0-pre.20221102.3
- 7.0.0-pre.20221026.2
- 6.5.0
- 6.5.0rc2
- 6.5.0rc1
- 6.4.0
- 6.3.2
- 6.3.1
- 6.3.0
- 6.2.1
- 6.2.0
- 6.1.2
- 6.1.1
- 6.1.0
- 6.0.0
- 6.0.0-pre.20221020.1
- 6.0.0-pre.20221012.2
- 6.0.0-pre.20221007.4
- 6.0.0-pre.20220922.1
- 6.0.0-pre.20220909.2
- 6.0.0-pre.20220825.4
- 6.0.0-pre.20220823.1
- 6.0.0-pre.20220818.1
- 6.0.0-pre.20220816.1
- 6.0.0-pre.20220810.1
- 6.0.0-pre.20220804.3
- 6.0.0-pre.20220801.1
- 6.0.0-pre.20220720.3
- 6.0.0-pre.20220706.4
- 6.0.0-pre.20220630.1
- 6.0.0-pre.20220608.2
- 6.0.0-pre.20220601.1
- 6.0.0-pre.20220526.1
- 6.0.0-pre.20220520.1
- 6.0.0-pre.20220517.1
- 6.0.0-pre.20220421.3
- 6.0.0-pre.20220414.2
- 6.0.0-pre.20220411.2
- 6.0.0-pre.20220407.1
- 6.0.0-pre.20220405.2
- 6.0.0-pre.20220331.1
- 6.0.0-pre.20220328.1
- 6.0.0-pre.20220324.1
- 6.0.0-pre.20220315.4
- 6.0.0-pre.20220310.1
- 6.0.0-pre.20220223.1
- 6.0.0-pre.20220216.3
- 6.0.0-pre.20220208.2
- 6.0.0-pre.20220201.3
- 6.0.0-pre.20220127.1
- 6.0.0-pre.20220123.2
- 6.0.0-pre.20220112.2
- 6.0.0-pre.20220105.5
- 6.0.0-pre.20211220.1
- 6.0.0-pre.20211215.3
- 6.0.0-pre.20211202.4
- 6.0.0-pre.20211117.1
- 6.0.0-pre.20211110.1
- 6.0.0-pre.20211101.2
- 6.0.0-pre.20211025.1
- 6.0.0-pre.20211019.1
- 5.4.1
- 5.4.0
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.0
- 5.1.1
- 5.1.0
- 5.0.0
- 5.0.0-pre.20211011.2
- 5.0.0-pre.20211006.1
- 5.0.0-pre.20210929.1
- 5.0.0-pre.20210923.7
- 5.0.0-pre.20210921.1
- 5.0.0-pre.20210916.1
- 5.0.0-pre.20210913.1
- 5.0.0-pre.20210907.1
- 5.0.0-pre.20210831.2
- 5.0.0-pre.20210826.1
- 5.0.0-pre.20210824.2
- 5.0.0-pre.20210817.2
- 5.0.0-pre.20210810.4
- 5.0.0-pre.20210802.5
- 5.0.0-pre.20210728.1
- 5.0.0-pre.20210722.2
- 5.0.0-pre.20210720.2
- 5.0.0-pre.20210708.4
- 5.0.0-pre.20210623.2
- 5.0.0-pre.20210615.3
- 5.0.0-pre.20210604.6
- 5.0.0-pre.20210520.7
- 5.0.0-pre.20210516.1
- 5.0.0-pre.20210510.2.2
- 5.0.0-pre.20210510.2.1
- 5.0.0-pre.20210510.2
- 4.2.4
- 4.2.3
- 4.2.2
- 4.2.1
- 4.2.0
- 4.1.0
- 4.0.0
- 3.7.2
- 3.7.1
- 3.7.0
- 3.6.0
- 3.5.1
- 3.5.0
- 3.4.1
- 3.4.0
- 3.3.1
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.0
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.1
- 2.0.0
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.1
- 1.0.0
- 0.29.1
- 0.29.0
- 0.28.1
- 0.28.0
- 0.27.2
- 0.27.1
- 0.27.0
- 0.26.1
- 0.26.0
- 0.25.3
- 0.25.2
- 0.25.1
- 0.25.0
- 0.24.1
- 0.24.0
1 parent
3b6e35e
commit a57c879
Showing
2 changed files
with
103 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters