Bryan O'Sullivan avatar Bryan O'Sullivan committed b744e47

Performance improvements by not taunting the 6.10 inliner.

Comments (0)

Files changed (2)


 streamUtf8 onErr bs = Stream next 0 (maxSize l)
       l = B.length bs
-      {-# INLINE next #-}
       next i
           | i >= l = Done
           | U8.validate1 x1 = Yield (unsafeChr8 x1) (i+1)


 filter :: (Char -> Bool) -> Stream Char -> Stream Char
 filter p (Stream next0 s0 len) = Stream next s0 len -- HINT maybe too high
-    {-# INLINE next #-}
     next !s = case next0 s of
                 Done                   -> Done
                 Skip    s'             -> Skip    s'
 zipWith f (Stream next0 sa0 len1) (Stream next1 sb0 len2) =
     Stream next (sa0 :*: sb0 :*: N) (smaller len1 len2)
-      {-# INLINE next #-}
       next (sa :*: sb :*: N) = case next0 sa of
                                  Done -> Done
                                  Skip sa' -> Skip (sa' :*: sb :*: N)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.