关于proplists:get_value/2 与lists:keyfind/3 的效率比较
2015-05-29 17:00
260 查看
关于proplists:get_value/2 与lists:keyfind/2 的效率 早有比较,已出结论,lists:keyfind/2 的效率要好很多,好些人都是直接用或者做过它们之间的比较测试,测试下就一目了然了,直接上代码:
结果很清楚,分别执行10万次,time分别为60000和10000微秒,而且调用次数越多,差异越明显。很明显lists:keyfind/2 的效率要好很多。
附个老外较早之前测试的链接:http://www.ostinelli.net/erlang-listskeyfind-or-proplistsget_value
-module(a). -compile(export_all). test() -> Y = "a", List = [{X,Y} || X<- lists:seq(1,10)], {Timer1,_} = timer:tc(lists,map,[fun(X) -> proplists:get_value(X,List)end, lists:seq(1,100000)]), io:format("proplists.......~p~n",[Timer1]), {Timer2,_} = timer:tc(lists,map,[fun(X) -> lists:keyfind(1,X,List)end, lists:seq(1,100000)]), io:format("lists.......~p~n",[Timer2]), ok.
结果很清楚,分别执行10万次,time分别为60000和10000微秒,而且调用次数越多,差异越明显。很明显lists:keyfind/2 的效率要好很多。
附个老外较早之前测试的链接:http://www.ostinelli.net/erlang-listskeyfind-or-proplistsget_value
相关文章推荐
- UED大全
- Starting MySQL.. ERROR! The server quit without updating PID file (/data/mysql/l
- error in java UI integration
- UINavigationController 详解
- stringbuffer与stringbuilder的区别
- EqualsBuilder和HashCodeBuilder
- EqualsBuilder和HashCodeBuilder
- EqualsBuilder和HashCodeBuilder
- EqualsBuilder和HashCodeBuilder
- EqualsBuilder和HashCodeBuilder
- load & require
- equinox提供了啥服务
- (转)RMAN-06054: media recovery requesting unknown archived log for thread...
- UI常用方法总结之 UINavigationController
- XHNewsFrameworkExample
- Android QuickContactBadge
- Android QuickContactBadge
- 10.2 NSOperation/NSOperationQueue:提供了一些在GCD中不容易实现的特性,如:限制最大并发数量,操作之间的依赖关系.
- 使用xcodebuild命令行编译iOS应用遇到的一个错误及解决办法
- easyui datagrid中动态改变某行的颜色