erlang catch时间分析

本文通过测试对比了Erlang中在处理大量数据时,使用catch捕获throw抛出的异常与正常运行的效率差异。测试结果显示,当所有数据都正常运行时,catch的效率高于直接返回,但当所有数据都throw抛出时,catch效率较低。此外,catch虽然使代码更直观,但在大量throw的情况下会增加开销。
摘要由CSDN通过智能技术生成

下面的测试,构造了一个1000W长度的列表,用于进行循环测试
主函数体为:

test(Lv, Star) ->
    CheckList = [{
   lv, Lv}, {
   star, Star}],
    List = lists:seq(1, 10000000),
    StarTime = erlang:system_time(milli_seconds),
    [case check_list(CheckList) of
         true -> true;
         {
   error, _Error} -> skip
     end || _X <- List],
    EndTime = erlang:system_time(milli_seconds),
    io:format("1 need_time : ~p~n", [
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值