diff options
author | Lia Lenckowski <lialenck@protonmail.com> | 2023-08-24 14:00:11 +0200 |
---|---|---|
committer | Lia Lenckowski <lialenck@protonmail.com> | 2023-08-24 14:00:11 +0200 |
commit | 1fedb7f1e73bc56002181775a546e9c2407a8e40 (patch) | |
tree | 2955ab53ef02a334935ad67c2c2bc9e46f53643f /src/Data/Bang.hs | |
parent | 33bc8bfb247f4fcbfc206bdeb9c0e118e961ba59 (diff) | |
download | fastbangs-1fedb7f1e73bc56002181775a546e9c2407a8e40.tar fastbangs-1fedb7f1e73bc56002181775a546e9c2407a8e40.tar.bz2 fastbangs-1fedb7f1e73bc56002181775a546e9c2407a8e40.tar.zst |
add toEncoding implementations (~15% encoding speedup)
Diffstat (limited to 'src/Data/Bang.hs')
-rw-r--r-- | src/Data/Bang.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Data/Bang.hs b/src/Data/Bang.hs index d6c3bd3..42a5d06 100644 --- a/src/Data/Bang.hs +++ b/src/Data/Bang.hs @@ -30,7 +30,11 @@ instance ToJSON Bangs where $ (\(url, name) -> object ["url" .= url, "name" .= name]) <$> m - -- TODO toEncoding. semi important; makes startup/updates faster + -- this could be optimized by folding over 'm' to create a bytestring builder, + -- but I don't think the complexity/unsafety is worth the small performance gain + toEncoding (Bangs m) = toEncoding + $ (\(url, name) -> object ["url" .= url, "name" .= name]) + <$> m newtype DDGBangs = DDGBangs (M.Map Text (Text, Text)) deriving (Show) toBangs :: DDGBangs -> Bangs |