Accuracy and flexibility are among the strong suits of moder.
Performance is not. mode_all()
and friends are multiple
times slower than R’s built-in functions for common measures of central
tendency, mean()
and median()
.
Why is that? All of moder’s code is written in R. By contrast, the
default mean()
method calls an internal function. Also,
handling missing values is much more complex in the mode functions than
in mean()
or median()
; see
vignette("missings")
. The default methods for
mean()
and median()
are fairly short when
compared to mode_first()
, and to mode_all()
if
its helper function is included. mode_single()
is a wrapper
around mode_all()
, so it’s even longer.
It is also possible that some of the code is less efficient than it could be. In particular, rewriting moder’s R code in a language like C++ or Rust might blend accuracy with high performance. I myself am not going to port the package in the near term, so help is welcome. If you have any suggestions, please open an issue or get in touch via email (jung-lukas@gmx.net).