Results 141 comments of idontgetoutmuch

``` [nix-shell:~/mwc-random]$ cabal bench --benchmark-options="--pattern beta" cabal bench --benchmark-options="--pattern beta" Build profile: -w ghc-9.4.8 -O1 In order, the following will be built (use -v for more details): - mwc-random-0.15.1.0 (bench:mwc-bench)...

@Shimuuar I think it is now ready to merge but I have 2 questions: 1. I added some benchmark tests to test the table method for beta binomial against the...

@Shimuuar I don't understand why we get these bounds warnings but of course with the suggested bounds, some of the builds fail.

Annoyingly I have had to comment out some of the existing benchmarks. I tried ``` ./Speed-Fu --match prefix Normal benchmarking Normal single sample monad bayes time 172.3 μs (172.1 μs...

So with `random-fu` I get ``` benchmarking Normal single sample monad bayes time 171.3 μs (171.1 μs .. 171.6 μs) 1.000 R² (1.000 R² .. 1.000 R²) mean 171.8 μs...

Well this is mysterious. When I run both benchmarks in one program I get ``` cabal build speed-bench speed-bench --match prefix Normal Removing: speed-samples.csv Removing: raw.dat benchmarking Normal single sample...

@turion I didn't try your suggestions yet and went back to basics. I have ``` {-# LANGUAGE ImportQualifiedPost #-} {-# OPTIONS_GHC -Wall -Wno-type-defaults #-} import Data.Random qualified as RF import...

``` {-# LANGUAGE ImportQualifiedPost #-} {-# OPTIONS_GHC -Wall -Wno-type-defaults #-} import Data.Random qualified as RF import System.Random.MWC.Distributions qualified as MWC import System.Random.Stateful (IOGenM, mkStdGen, newIOGenM, StdGen) import Criterion.Main ( Benchmark,...

> If you add a type class to the same module, the type class dictionary lookup will be optimized away by GHC. For it to have a performance impact, you...

WIth `ghc -O1 -isrc -imodels -XBlockArguments -XOverloadedStrings -fforce-recomp benchmark/Speed.hs` I get consistency and `mwc` beats `random-fu`. Now maybe is the time to specialise and inline?