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
go h k (s+bitsPerSubkey) (A.index v (sparseIndex b m))
where m = mask h s
go h k s (Full v) =
go h k (s+bitsPerSubkey) (A.index v (index h s))
go h k _ (Collision hx v)
| h == hx = lookupInArrayCont absent present k v
|otherwise= absent (##)
{-# INLINE lookupCont #-}
In bytestring we've sped up some functions by removing these arguments from the inner loop. See e.g. haskell/bytestring#273, haskell/bytestring#347. It would be good to check if u-c can benefit from similar transformations.
Many inner loops in this package have a lot of static arguments, for example
lookupCont
:unordered-containers/Data/HashMap/Internal.hs
Lines 669 to 686 in 2d537c1
In
bytestring
we've sped up some functions by removing these arguments from the inner loop. See e.g. haskell/bytestring#273, haskell/bytestring#347. It would be good to check ifu-c
can benefit from similar transformations.Note that GHC also has a
-fstatic-argument-transformation
option, but issues like GHC19285 suggest that it may not be in a usable state.This GHC wiki page is interesting though: https://gitlab.haskell.org/ghc/ghc/-/wikis/static-argument-transformation
The text was updated successfully, but these errors were encountered: