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

简介: 验证erlang官网提供的思想:record的修改是复制。   -module (test_record). -record (record_5,{ aa1 = 0, aa2 = 0, aa3 = 0, aa4 = 0, aa5 = 0}).

验证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).

 

 

 

相关文章
|
4月前
|
前端开发 JavaScript
empty来显示暂无数据简直太好用,阻止用户复制文本user-select
empty来显示暂无数据简直太好用,阻止用户复制文本user-select
ookie 值的修改方案
ookie 值的修改方案
84 0
|
SQL Oracle 关系型数据库
gt-checksum 1.2.1发布,新增表结构校验及修复等超实用特性
gt-checksum 1.2.1发布,新增表结构校验及修复等超实用特性
|
缓存 索引
ES的删除和更新,旧数据到低是如何处理的?
根据ES的读写入原理,大家都知道ES写入时每秒从内存缓冲区(memory buffer)生成小的segment,将其递交给系统缓存(OS filesystem cache)中,后台会定期的对这些小的segment 合并成一个大的segment段
330 0
ES的删除和更新,旧数据到低是如何处理的?
到底哪种类型的错误信息会阻止business transaction的保存
当试图在CRM WebUI保存一个business transaction比如Opportunity时,可能会遇到各种各样的错误消息。有的错误消息会阻止Business transaction被save,有的则不会。这些错误消息有何区别?
到底哪种类型的错误信息会阻止business transaction的保存
找不到在标准的system字段里新增entry的办法
需求是在Sales order的状态字段里新添加几个entry,代表Sales Order trigger的production order对应的状态, 比如“生产已经开始”,“生产已经结束”。
|
SQL 安全 数据库
基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误
一数据库服务器(SQL Server 2014)上的一个作业执行报错,具体错误信息如下:   Executed as user: NT SERVICE\SQLSERVERAGENT. 用户 'xxxx\xxxxx$' 登录失败。
1937 0
|
Oracle 关系型数据库 数据库