erlang function efficiency

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kkx12138/article/details/78876379

erlang function efficiency

1. match partten

do

map(_Map, [], Ys) -> Ys;
map(_Map, [_|_] = Xs, []) ->       %% 1.1 do_not map(_Map, Xs, []) ->
  Xs;
map(Map, [X | Xs], [Y|Ys]) ->
  [Map(X,Y) | map(Map, Xs, Ys)].

1.1 因为第二个参数是可以匹配任何变量的。和函数编译优化相关

2. MFA 的用法:

F(A) 本地函数,最快
apply(Fun, A::[term()]) -> term() 是本地函数call的三倍花费
apply(Moudule::module(), Fun, A::[term()]) -> term() 是本地函数call的六倍花费

没有更多推荐了,返回首页