Thanks @Schultzer’s pull request and a faster rol() implementation we’ve got a new version now, that is still pure Elixir but nearly 10x faster… That said it’s still much slower than the nif:
##### With input long string #####
Comparison:
nif_sha3_256 2243.02
ex_sha3_256 9.36 - 239.60x slower +106.37 ms
##### With input short string #####
Comparison:
nif_sha3_256 215033.52
ex_sha3_256 870.25 - 247.09x slower +1.14 ms