• 验证:record项元的多少影响修改速度。


    验证erlang官网提供的思想:record的修改是复制。

    -module (test_record).
    -record (record_5,{ aa1 = 0,
    					aa2 = 0,
    					aa3 = 0,
    					aa4 = 0,
    					aa5 = 0}).
    
    -record(record_50,{	aa1 = 0,
    					aa2 = 0,
    					aa3 = 0,
    					aa4 = 0,
    					aa5 = 0,
    					aa6 = 0,
    					aa7 = 0,
    					aa8 = 0,
    					aa9 = 0,
    					aa10 = 0,
    					aa11 = 0,
    					aa12 = 0,
    					aa13 = 0,
    					aa14 = 0,
    					aa15 = 0,
    					aa16 = 0,
    					aa17 = 0,
    					aa18 = 0,
    					aa19 = 0,
    					aa20 = 0,
    					aa21 = 0,
    					aa22 = 0,
    					aa23 = 0,
    					aa24 = 0,
    					aa25 = 0,
    					aa26 = 0,
    					aa27 = 0,
    					aa28 = 0,
    					aa29 = 0,
    					aa30 = 0,
    					aa31 = 0,
    					aa32 = 0,
    					aa33 = 0,
    					aa34 = 0,
    					aa35 = 0,
    					aa36 = 0,
    					aa37 = 0,
    					aa38 = 0,
    					aa39 = 0,
    					aa40 = 0,
    					aa41 = 0,
    					aa42 = 0,
    					aa43 = 0,
    					aa44 = 0,
    					aa45 = 0,
    					aa46 = 0,
    					aa47 = 0,
    					aa48 = 0,
    					aa49 = 0,
    					aa50 = 0	}).
    
    -export ([test_5/1,test_5/2,test_50/1,test_50/2]).
    
    
    
    
    test_5(Amount)->
    		Record_5 = #record_5{},
    		%% Fun = fun(Amount2,Record_5_2)-> test_5(Amount2 ,Record_5_2) end,
    		%% {Time_ms,_Value} = timer:tc(Fun,[Amount,Record_5]),
    		{Time_ms,_Value} = timer:tc(test_record,test_5,[Amount,Record_5]),
    		Time_s = Time_ms div 1000,
    		io:format("test_5 cost time:~w ms~n",[Time_s]).
    
    test_5(0,_Record_5)->
    		ok;
    test_5(Amount,Record_5)->
    		_New_Record_5 = Record_5#record_5{aa2 = 2},
    		test_5(Amount - 1,Record_5).
    
    
    
    test_50(Amount)->
    		Record_50 = #record_50{},
    		{Time_ms,_Value} = timer:tc(test_record,test_50,[Amount,Record_50]),
    		Time_s = Time_ms div 1000,
    		io:format("test_50 cost time:~w ms~n",[Time_s]).
    
    test_50(0,_Record_50)->
    		ok;
    test_50(Amount,Record_50)->
    		_New_Record_50 = Record_50#record_50{aa20 = 2},%% aa2 和 aa2 的速度同样。
    		test_50(Amount - 1,Record_50).
    
  • 相关阅读:
    Array.prototype.slice.call(arguments)
    change,propertychange,input事件小议
    H5项目常见问题汇总及解决方案
    director.js:客户端的路由---简明中文教程
    Web APP开发技巧总结
    Flex 布局教程:语法篇
    解决iPhone中overflow:scroll;滑动速度慢或者卡的问题
    flexbox布局的兼容性
    移动前端知识总结
    使用React重构百度新闻webapp前端
  • 原文地址:https://www.cnblogs.com/ribavnu/p/3714075.html
Copyright © 2020-2023  润新知