Yes! Elixir is slightly slower because we dispatch to Enum.reduce and Erlang doesn’t perform a remote call.
We inline most common types with the list type coming first. So for the builtin types, that should be no difference in performance.
@compile {:inline, ...}
only works within the same module so it is not a general mechanism for wrapping Erlang functions. The Elixir compiler, however, does inline most of its calls to :erlang
.
So there are tiny differences in some very specific cases, but they are quite unlikely to matter in general.