# Time Comparisons

All samplers run for 1024 iterations.

## C++

    X <- bench::mark(
        "Metropolis-Hastings" = {samplr::sampler_mh(1, "norm", c(0,1), sigma_prop=1)},
        "MC3" = {samplr::sampler_mc3(1, "norm", c(0,1), sigma_prop=1)},
        "Hamiltonian Monte-Carlo" = {samplr::sampler_hmc(1, "norm", c(0,1))},
        "REC" = {samplr::sampler_rec(1, "norm", c(0,1))},
        "MCHMC" = {samplr::sampler_mchmc(1, "norm", c(0,1), )},
        "MCREC" = {samplr::sampler_mcrec(1, "norm", c(0,1))},
        check = FALSE, iterations = 50
    )
    #> Warning: Some expressions had a GC in every iteration; so filtering is
    #> disabled.
    knitr::kable(as.data.frame(X[,c("expression", "min", "median")]))

expression | min | median
--- | --- | ---
Metropolis-Hastings | 778.5µs | 848.7µs
MC3 | 8.86ms | 9.54ms
Hamiltonian Monte-Carlo | 6.98ms | 7.83ms
REC | 7.26ms | 8.44ms
MCHMC | 52.84ms | 61.11ms
MCREC | 52.13ms | 59.54ms

## MATLAB

tests | timeit
--- | ---
Metropolis-Hastings | 6.22ms
MC3 | 55.13ms