Goofing around to see if we can beatwc in Elixir
System.cmd("wc",["-l", file])
with native Elixir code
# The :binary functions split and replace are not nifs.
def slurp(path) do
bin = File.read!(path)
search = :binary.compile_pattern(<<"\n">>)
new_bin = :binary.replace(bin,search,<<"">>,[:global])
:erlang.byte_size(bin) - :erlang.byte_size(new_bin)
end
Timing Results