-
Notifications
You must be signed in to change notification settings - Fork 437
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Back out fine-grained cache for FunctionDefinitionEnvironment
Summary: This commit backs out a perf optimization I landed as part of trying to unblock Pysa for the UGE cleanup where I made UnannotatedGlobalEnvironment a "normal" Pyre environment instead of a complex set of fine-grained tables. Because we saw Pysa regressions (which it turns out were the result of a single slow-to-analyze module top-level that Maxime found and disabled), I first split off `FunctionDefinitionEnvironment` and then made it so that when dependency tracking is off (in `pyre check` and `pyre analyze`, for example) we use a fine-grained table instead of the normal module-sope table. That second perf optimization, the fine-grained table, doesn't seem to actually do much. It did help a little bit when we had that super slow-to-analyze module top level enabled, but on trunk today perf results suggest that Pysa is actually significantly faster *without* this extra complexity (the CallGraph computation, which was the bottleneck before, is roughly unchanged but taint analysis appears to run quite a bit faster) Note that the `pyre check` vs `pyre incremental` delta that forced us to revert D59770261 would have been impossible if the code had been in this state, it was the fine-grained vs module-level table that caused a cold-start `incremental` run to behave differently from `check`. Note: I am seeing evidence that some incremental problems still exist; getting this diff in is helpful because it simplifies the logic that I need to debug here. Reviewed By: grievejia Differential Revision: D59965208 fbshipit-source-id: 62c524cda55d52d5c9c0b4019052d06e7c92dde5
- Loading branch information
1 parent
d34444e
commit e8df7ec
Showing
2 changed files
with
12 additions
and
109 deletions.
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