You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Performance improvements
getSpanInfo was naively calling getDocumentations multiple times on the same
name. Fixed by deduplicating these calls.
getDocumentations is implemented on top of InteractiveEval.getDocs, which does
a lot of Ghc setup internally and is very inefficient. Fixed by introducing a
batch version of getDocs and batching all the calls in getSpanInfo
name | success | samples | startup | setup | experiment | maxResidency
------------- | ------- | ------- | ------- | ----- | ---------- | ------------
edit (before) | True | 10 | 6.94s | 0.00s | 6.57s | 177MB
edit (after) | True | 10 | 6.44s | 0.00s | 4.38s | 174MB
* More performance improvements
Played the deduplication trick on lookupName, which is slow for the same reasons
as getDocs. Batching made a smaller difference in my measurements, so did
not implement it
* Fix redundant constraints
* Skip the GHCi code paths for documentation
We don't use the interactive module, so there's no reason to go through the GHCi
code paths. Moreover, they apparently cause problems with ghc-lib.
* Skip the GHCi paths for lookupName
* Correctly load the module interface
* Compatibility with GHC 8.4 and 8.6
* Fix ghc-lib build
0 commit comments