One timed cpt_detect() call per engine and length, each in its own
R process running an installed (byte-compiled) build, after a warm-up
call, so the time is the fit and not loading or compiling anything, with
a time cap of 120 seconds (300 at a million). A length is attempted only
when the previous one finished in under ten seconds.
One run per cell: this answers "will it finish?", and is not a basis for
claiming one engine is faster than another by a given factor.
Format
A tibble with one row per engine and length attempted:
- method
the method, as
cpt_detect()takes it.- n
the series length: 1,000, 10,000, 100,000 or 1,000,000, with four mean changes of two noise standard deviations (three coordinates for the multivariate engines).
- seconds
elapsed time of the fit.
- k
changepoints reported (four are real; a single-change method reports one).
- status
"ok","timeout"or"error".
See also
cpt_methods()'s cost and max_n
columns, cpt_recommend().
Other measurement tables:
cpt_calibration,
cpt_data_types,
cpt_invariances,
cpt_noise_benchmark,
cpt_null_sizes
Examples
subset(cpt_runtimes, n == 1e5 & status == "ok")
#> # A tibble: 21 × 5
#> method n seconds k status
#> <chr> <int> <dbl> <int> <chr>
#> 1 pelt 100000 0.071 4 ok
#> 2 binseg 100000 0.068 4 ok
#> 3 amoc 100000 0.042 1 ok
#> 4 np 100000 106. 6 ok
#> 5 fpop 100000 0.057 4 ok
#> 6 wbs 100000 2.55 4 ok
#> 7 not 100000 1.84 4 ok
#> 8 mosum 100000 0.107 4 ok
#> 9 idetect 100000 5.42 4 ok
#> 10 tguh 100000 3.43 4 ok
#> # ℹ 11 more rows
