mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-06-01 11:14:23 +00:00
add bs concat
This commit is contained in:
+3
-1
@@ -8,6 +8,7 @@ Pick one or group: cabal bench -O2 simplexmq-bench --benchmark-options "-p TRcvQ
|
||||
|
||||
module Main where
|
||||
|
||||
import Bench.BsConcat
|
||||
import Bench.Compression
|
||||
import Bench.SNTRUP761
|
||||
import Bench.TRcvQueues
|
||||
@@ -18,5 +19,6 @@ main =
|
||||
defaultMain
|
||||
[ bgroup "TRcvQueues" benchTRcvQueues,
|
||||
bgroup "SNTRUP761" benchSNTRUP761,
|
||||
bgroup "Compression" benchCompression
|
||||
bgroup "Compression" benchCompression,
|
||||
bgroup "BsConcat" benchBsConcat
|
||||
]
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Bench.BsConcat where
|
||||
|
||||
import Data.ByteString (ByteString)
|
||||
import qualified Data.ByteString.Char8 as B
|
||||
import Test.Tasty.Bench
|
||||
|
||||
benchBsConcat :: [Benchmark]
|
||||
benchBsConcat =
|
||||
[ bgroup "3 elements"
|
||||
[ bench "(3-tuple baseline)" $ nf (\(a, s, b) -> a `seq` s `seq` b `seq` "" :: ByteString) ("aaa" :: ByteString, " " :: ByteString, "bbb" :: ByteString),
|
||||
bench "a <> s <> b" $ nf (\(a, s, b) -> a <> s <> b :: ByteString) ("aaa", " ", "bbb"),
|
||||
bench "concat [a, s, b]" $ nf (\(a, s, b) -> B.concat [a, s, b] :: ByteString) ("aaa", " ", "bbb"),
|
||||
bench "unwords [a, b]" $ nf (\(a, b) -> B.unwords [a, b] :: ByteString) ("aaa", "bbb")
|
||||
],
|
||||
bgroup "5 elements"
|
||||
[ bench "a <> s <> b <> s <> c" $ nf (\(a, s1, b, s2, c) -> a <> s1 <> b <> s2 <> c :: ByteString) ("aaa", " ", "bbb", " ", "ccc"),
|
||||
bench "(a <> s <> b) <> (s <> c)" $ nf (\(a, s1, b, s2, c) -> (a <> s1 <> b) <> (s2 <> c) :: ByteString) ("aaa", " ", "bbb", " ", "ccc"),
|
||||
bench "concat [a, s, b, s c]" $ nf (\(a, s1, b, s2, c) -> B.concat [a, s1, b, s2, c] :: ByteString) ("aaa", " ", "bbb", " ", "ccc"),
|
||||
bench "unwords [a, b, c]" $ nf (\(a, b, c) -> B.unwords [a, b, c] :: ByteString) ("aaa", "bbb", "ccc")
|
||||
]
|
||||
]
|
||||
@@ -733,6 +733,7 @@ benchmark simplexmq-bench
|
||||
type: exitcode-stdio-1.0
|
||||
main-is: Bench.hs
|
||||
other-modules:
|
||||
Bench.BsConcat
|
||||
Bench.Compression
|
||||
Bench.SNTRUP761
|
||||
Bench.TRcvQueues
|
||||
|
||||
Reference in New Issue
Block a user