summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2021-06-16 19:53:00 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-06-19 12:24:52 -0400
commit23bb09c919a56768953a71cbbecf735a4bff608b (patch)
tree49c8ac003c2e9a2be988827533c6e4cf060e63a9
parenta6548a667229594e6156b31d156dbca20a44f8ff (diff)
downloadhaskell-23bb09c919a56768953a71cbbecf735a4bff608b.tar.gz
Perf: fix appendFS
To append 2 FastString we don't need to convert them into ByteString: use ShortByteString's Semigroup instance instead.
-rw-r--r--compiler/GHC/Data/FastString.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/GHC/Data/FastString.hs b/compiler/GHC/Data/FastString.hs
index 33ceedd44c..9ed0a38df3 100644
--- a/compiler/GHC/Data/FastString.hs
+++ b/compiler/GHC/Data/FastString.hs
@@ -598,8 +598,8 @@ zEncodeFS :: FastString -> FastZString
zEncodeFS fs = fs_zenc fs
appendFS :: FastString -> FastString -> FastString
-appendFS fs1 fs2 = mkFastStringByteString
- $ BS.append (bytesFS fs1) (bytesFS fs2)
+appendFS fs1 fs2 = mkFastStringShortByteString
+ $ (Semi.<>) (fs_sbs fs1) (fs_sbs fs2)
concatFS :: [FastString] -> FastString
concatFS = mkFastStringShortByteString . mconcat . map fs_sbs