注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

游戏记忆...

竹石 Blog

 
 
 

日志

 
 

record的更新和复制速度测试  

2012-02-04 09:50:41|  分类: erlang |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

erlang中,一个角色既是是一个进程,一直纠结角色的数据是用进程字典保存还是用记录保存,对记录的操作更新应该是最慢的(需要复制出一个新的),因此写了个测试。

-module(record).

-export([run/1]).

-record(rc, {aasdf1=2, fsdff2=er, fgsdaf3=4, lsdjff5=tyyyt, retsfd6=sasdf, ljksdf7=456, vcbvc8=76, cvxzdf9="fsdf"
         ,saxcvsd10=43, aazb1=34, asdfgdfg11="ccccc", vbn12=655, bdfgsd13="fffff", klvxvdf14=999, lkjjj15="ffff"
         ,sdffsd16={fsdf, 34}, dgfdsfdsd17=kkkk, lsdfa18="ddddddddddd", lkwef19=987665, sdfwef20="w232131sweerw"
         ,sfsaf21="fsdfasdf", sdfeww22=ewrw, asdfw23="sssssssssssfwe", aerw24=13123, asdfkja25="fsaw2342sf"
         ,asdf26="rgfvsdafsa", wer27="fsawer324", fwer28="fsweriuio", fasd29="fswerrxd", iuiuio30="fsasdffsdfds"
         ,asdf31="rgfvsdafsa", wer32="fsawer324", fwer33="fsweriuio", fasd34="fswerrxd", iuiuio35="fsasdffsdfds"
         ,sdff36={fsd, "ffffffffg"}, sasdf37={fad, "5464546"}, ssdf38={ff, "fsaeee"}, lkad39={bv, "fasdfsdfd"}}).

run(N) ->
    io:format("===~p, ~p~n", [statistics(runtime), statistics(wall_clock)]),
%    put(kkjj, "llll"),
%    put(ffff, 776),
%    loopDic(N),
    loop(N, #rc{aazb1=10}),
    io:format("===~p, ~p~n", [statistics(runtime), statistics(wall_clock)]).


loop(0, Rc) ->
    io:format("get:~p, ~p~n", [Rc#rc.aazb1, Rc#rc.ssdf38]),
    io:format("finsh.~n");
loop(N, Rc) ->
    loop(N-1, Rc#rc{aazb1=N, ssdf38={hh, N}}).

loopDic(0) ->
    io:format("finsh.~n");
loopDic(N) ->
%    V = get(kkjj),
    put(kkjj, N),
    loopDic(N-1).

record的更新和复制速度测试 - 竹石 - 游戏记忆...
 虽然记录内的数据项很多,更新(内含复制)的速度依然很快,在0.2um左右。与进程字典接近。
  评论这张
 
阅读(550)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018