关注LAMP|PHP源代码分析|web架构|PHP扩展|Erlang|服务端架构

list comprehensions与list map性能对比

2010-02-26

原创文章,转载请注明: 转载自庆亮的博客-webgame架构

本文链接地址: list comprehensions与list map性能对比

可以使用List comprehensions时不要 使用map或者filter,简单的性能测试对比一下:

第一组,maplist comprehensions对比,代码如下:

%%map方式

-module(map_test).

-export([start/1]).

start(N) ->

        statistics(runtime),

        erlang:statistics(wall_clock),

        lists:map(fun (X) -> X*X end, lists:seq(1N)),

        {_T1} = erlang:statistics(runtime),

        {_T2} = erlang:statistics(wall_clock),

        io:format("total times: ~p, load time: ~p (~p)", [NT1T2]).

%%list comprehensions方式

-module(list_comp_test).

-export([start/1]).

start(N) ->

        statistics(runtime),

        erlang:statistics(wall_clock),

        [X*X || X <- lists:seq(1N)],

        {_T1} = erlang:statistics(runtime),

        {_T2} = erlang:statistics(wall_clock),

        io:format("total times: ~p, load time: ~p (~p)", [NT1T2]).

测试N1000000时结果对比:

结果取得是平均值,可以很明显的看出comprehension方式性能要高。

关于filter,则类似。不再作测试。

作者:庆亮 | 分类目录:Erlang | 标签:

一条评论

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>