on master help sign in
Tiny performance improvement via strictness
4c662c0Bryan O'Sullivan
Data/Text/Fusion.hs+1−2
@@ -65,8 +65,7 @@ default(Int)
65stream :: Text -> Stream Char
65stream :: Text -> Stream Char
66stream (Text arr off len) = Stream next off (maxSize len)
66stream (Text arr off len) = Stream next off (maxSize len)
67 where
67 where
68− end = off+len
68+ !end = off+len
69− {-# INLINE next #-}
70 next !i
69 next !i
71 | i >= end = Done
70 | i >= end = Done
72 | n >= 0xD800 && n <= 0xDBFF = Yield (U16.chr2 n n2) (i + 2)
71 | n >= 0xD800 && n <= 0xDBFF = Yield (U16.chr2 n n2) (i + 2)