erlang function efficiency

来源:互联网 发布:双机热备 数据库 编辑:程序博客网 时间:2024/05/17 03:00

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的六倍花费

原创粉丝点击