@@ -6,6 +6,7 @@ import Data.IORef
6import Data.Word
6import Data.Word
7import qualified Data.UUID as U
7import qualified Data.UUID as U
8import qualified Data.UUID.V1 as U
8import qualified Data.UUID.V1 as U
9+import qualified Data.UUID.V4 as U
9import qualified Data.UUID.V3 as U3
10import qualified Data.UUID.V3 as U3
10import qualified Data.UUID.V5 as U5
11import qualified Data.UUID.V5 as U5
11import System.Random
12import System.Random
@@ -27,7 +28,8 @@ main = do
27 defaultMain [
28 defaultMain [
28 bgroup "generation" [
29 bgroup "generation" [
29 bench "V1" $ nfIO U.nextUUID,
30 bench "V1" $ nfIO U.nextUUID,
31+ bench "V4-stock" $ nfIO (U.nextRandom :: IO U.UUID),
30− bench "V4" $ nfIO (randomUUID :: IO U.UUID),
32+ bench "V4-mersenne" $ nfIO (randomUUID :: IO U.UUID),
31 bench "V3" $ nf (U3.generateNamed U3.namespaceURL) n1,
33 bench "V3" $ nf (U3.generateNamed U3.namespaceURL) n1,
32 bench "V5" $ nf (U5.generateNamed U5.namespaceURL) n1
34 bench "V5" $ nf (U5.generateNamed U5.namespaceURL) n1