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

验证:record项元的多少影响修改速度。的更多相关文章

  1. javascript 元编程之-代码修改代码

    javascript 元编程之-代码修改代码 引言 重构代码是个体力活,特别是在确定重构方案后,剩下就是按方案调整代码,然后进行测试. 如何有好又快的调整到位代码,这是件不容易的事. 简单的代码,可以 ...

  2. java layout 表格项增加、删除、修改

    实现的内容为:点击表格某项,再点击删除钮,可实现删除点击表格某项,再点击编辑按钮,可实现内容改变点击添加按钮,可实现向表格中添加内容 总结:总的来说中间遇到了很多困难,但是都一步步的解决了. pack ...

  3. 1.配置桥接,并抓包验证 2.实现免密登录 3.修改登录端口: 22-》2222 4.不允许root用户远程登录 5.创建用户sshuser1,并设置密码,且只允许sshuser1远程ssh登录

    1.配置桥接:  抓包时如果有ens160的ICMP,说明我们的桥接搭建成功通过桥接访问到了ens160(这里忘加图片了) (1)创建一个桥接设备和会话 (2)添加设备和会话到桥接设备上 (3)启动从 ...

  4. PowerShell添加或修改注册表开机启动项脚本

    代码如下: $name = Read-Host "请输入开机启动项的名字(随便起)" $value = Read-Host "请输入开机启动项的值" try{ ...

  5. Ubuntu - Grub2.0修改默认启动项

    1. 我的环境: Ubuntu 10.04   2. 关键位置和文件: /boot/grub/grub.cfg 文件: /etc/grub.d/ 目录: /etc/default/grub 文件:   ...

  6. 修改layui的表单手机、邮箱验证可以为空怎么实现?

      修改layui的表单手机.邮箱验证可以为空   解决办法: 修改源码: 把表单验证源代码(form.js)的正则表达式改一下,例如手机的正则为:/^1d{10}$/,可以改成/^$|^1d{10} ...

  7. linux和window双系统下修改系统启动项

    参考:http://jingyan.baidu.com/article/63acb44ae4062c61fcc17e27.html: 我们在安装双系统之后经常会遇到想打开windows但默认启动项是u ...

  8. (转)[jQuery]使用jQuery.Validate进行客户端验证(初级篇)——不使用微软验证控件的理由

    以前在做项目的时候就有个很大心病,就是微软的验证控件,虽然微软的验证控件可以帮我们完成大部分的验证,验证也很可靠上手也很容易,但是我就是觉得不爽,主要理由有以下几点: 1.拖控件太麻烦,这个是微软控件 ...

  9. 在IT行业获得成功 你只需一项技能[转]

    能同时使用五种编程语言(包括一种机器语言)?不是. 项目管理能力,再高就是获得PMP认证?也不是. 超强的口才和书面沟通能力,正如工作职位中描述的那样?这不是痛点,但可以学习. 我曾经与最好的IT专业 ...

随机推荐

  1. ng-class

    在前面Angularjs开发一些经验总结中我们说到在angular开发中angular controller never 包含DOM元素(html/css),在controller需要一个简单的POJ ...

  2. a标签添加点击事件

      a标签添加点击事件 CreateTime--2017年8月8日09:11:34 Author:Marydon 一.基础用法 方式一:(不推荐使用) <a href="javascr ...

  3. JVM是怎么工作的?

    了解JVM的工作机制能够更好的帮助我们理解java语言本身,规避各种可能的错误.所以,今天趁此机会好好复习一下.来看看JVM是怎么工作的. 一.啥是JVM JVM可以理解为用来运行java程序的一种运 ...

  4. 比较全的log4j示例

    <?xml version="1.0" encoding="UTF-8"?> <configuration status="off& ...

  5. 【Redis】windows环境下安装redis服务器,并配置php的redis扩展

    win7示例: 1.下载Redis服务器 : https://github.com/dmajkic/redis/downloads:(随便下,建议不要太老的) 2.在D:\phpStudy\ 新建Re ...

  6. c#+mysql 中文乱码

    c#+mysql 中文乱码 遇到一个奇怪的问题,C#读取mysql中文正常,写入时发生乱码 网上查阅原因,发现如下信息 ---------------------------------------- ...

  7. js ~取非运算符的妙用,将-1转为0(或假值)

    典型的运用场景就是indexOf

  8. 批量修改图像的大小 Python PIL

    #-*-coding:utf-8-*- import os import os.path from PIL import Image import time def ResizeImage(filei ...

  9. php类自动载入

    在编写面向对象(OOP) 程序时,很多开发者为每个类新建一个 PHP 文件. 这会带来一个烦恼:每个脚本的开头,都需要包含(include)一个长长的列表(每个类都有个文件). 在 PHP 5 中,已 ...

  10. atitit.D&D drag&drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结

    atitit.D&D drag&drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结 1. DND的操作流程 1 2. Html5 注 ...