# Performance

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).