patagonia2 发表于 2016-04-14 17:45

为什么名字是慢,那么它是慢

%-module(fs).
-mode(native).
-define(P, io:format).

fast(N) when N < 2 -> N;
fast(N) -> fast(N - 1) + fast(N - 2).

main(_) ->
    Num = 40,
    Slow = fun F(N) when N < 2 -> N;
      F(N) -> F(N - 1) + F(N - 2) end,

    {Time1, A1} = timer:tc(fun fast/1, ),
    ?P ("fast ~p => time = ~p ~n",),

    {Time2, A2} = timer:tc(Slow, ),
    ?P ("Slow ~p => time = ~p ~n",),

    halt(1).

fast 102334155 => time = 3.251176
Slow 102334155 => time = 20.973105

q1208c 发表于 2016-04-14 22:29

Slow 好象多了调用, 所以会慢很多。

patagonia2 发表于 2016-04-15 17:12

回复 2# q1208c


    多谢大神指点

q1208c 发表于 2016-04-19 16:12

回复 3# patagonia2


哈哈, 我只是前几天正好买了本新书。   

patagonia2 发表于 2016-04-19 20:37

回复 4# q1208c


    请问大神{:yxh93:}
哪一本?

q1208c 发表于 2016-04-20 11:27

回复 5# patagonia2

"Erlang程序设计“第二版
   

patagonia2 发表于 2016-04-20 11:46

回复 6# q1208c


          谢谢大神指导。
页: [1]
查看完整版本: 为什么名字是慢,那么它是慢