Closed stschiff closed 1 year ago
Attention: 2 lines
in your changes are missing coverage. Please review.
Comparison is base (
f9e5281
) 70.87% compared to head (fcfb576
) 68.63%. Report is 1 commits behind head on master.:exclamation: Current head fcfb576 differs from pull request most recent head 20acc01. Consider uploading reports for the commit 20acc01 to get more accurate results
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
OK, I've updated now to LTS-21.17. Build and tests work without --pedantic
, but one warning breaks pedantic compilation:
Survey.hs:98:66: warning: [-Wtype-equality-requires-operators]
The use of ‘~’ without TypeOperators
will become an error in a future GHC release.
Suggested fix: Perhaps you intended to use TypeOperators
|
98 | getRatiosForEachField :: (Generics.SOP.Generic a, Code a ~ '[ xs ], All PresenceCountable xs) => [a] -> [Ratio Int]
| ^
As already somewhat touched upon around the code changes introduced in 1.4.0.0, we had a severe performance leak in
resolveEntityIndices
, which affected fetch, forge, and crept into xerxes as well.I solved this now by simply computing the isLatest vector only once when I create individualInfos from packages (
getJointIndividualInfo
). For that purpose I have introduced a new type synonym for the tuple of indInfos and Bools, defined inEntityTypes
:Key downstream functions
determineRelevantPackages
,resolveEntityIndices
,resolveUniqueEntityIndices
,determineNonExistentEntities
andcheckIfAllEntitiesExist
all now use this new tuple, which saves them from callingisLatestInCollection
themselves.As far as I can see, this solved the performance bug completely.
This command line is diagnostic:
Before this change, this took ages before actually starting to download. Now it starts almost immediately.
You can test from this branch via
I've bumped the version number and added a Changeling. I will now update xerxes as well and will see whether there is anything in the new API that needs further change.