开源区块链系统 AElf 性能测试系列文章 AElf vs ETH - 01

  • 1.测试用例及代码库
  • 2.机器配置
  • 3.测试结果
    • 3.1 EVM
    • 3.2 AElf
      • 3.2.1 LoopDivAdd10M
      • 3.2.2 LoopExpNop1M

近期对标以太坊做了一系列针对测试,在此次测试过程中,我们发现在同一机型上,运行同样的测试用例,AElf的合约执行效率远高于以太坊的EVM的合约执行效率。

以太坊的合约执行效率低,一方面因为虚拟机机制和gas费规则带来的一定开销导致效率降低,另一方面因为EVM的256位设计导致合约执行效率更低。

而AElf在合约执行层面:基于Protobuf实现了一个类grpc的智能合约执行环境,并且没有多余设计,合约执行效率自然远高于以太坊的合约执行效率。具体的实现大家可以去github上围观。

1.测试用例及代码库

以下是对标以太坊 loop-divadd-10M.json 和 loop-exp-nop-1M.json的测试情况。

ETH: 基于官网go实现版本 https://github.com/ethereum/go-ethereum
AElf: 基于官方C#实现版本 https://github.com/AElfProject/AElf

测试用例, 对标ETH的标准测试 https://github.com/ethereum/tests/tree/develop/src/VMTestsFiller
对应AElf 测试程序:https://github.com/AElfProject/AElf/blob/dev/bench/AElf.Benchmark

2.机器配置

机器型号
OS=ubuntu 16.04
QEMU Virtual CPU, 2 CPU, 2 logical and 2 physical corescpu MHz  : 2194.916; cache size : 16384 KBAElf 相关环境BenchmarkDotNet=v0.11.5
.NET Core SDK=2.2.203[Host] : .NET Core 2.2.4 (CoreCLR 4.6.27521.02, CoreFX 4.6.27521.01), 64bit RyuJIT DEBUG

3.测试结果

LoopDivAdd10M:EVM耗时为AElf的 169倍, 差两个数量级

LoopExpNop1M: EVM耗时为AElf的 1223倍,差三个数量级

3.1 EVM

官方go实现版本的自带测试程序执行结果

LoopDivAdd10M:14.236813572s

LoopExpNop1M: 639.16568ms

3.2 AElf

LoopDivAdd10M:84.01ms
LoopExpNop1M: 522.5us

3.2.1 LoopDivAdd10M

除法加法循环 一千万次

方法

public override DoubleValue LoopDivAdd(DivAddTestInput input)
{var r = input.X;for (uint i = 0; i < input.N; i++) {r /= input.Y;r += input.K;}return new DoubleValue {Value = r};
}

输入

new DivAddTestInput()
{X = 100,Y = 300,K = 500,N = 10000000
}

执行结果

3.2.2 LoopExpNop1M

方法

public override Int32Value LoopExpNop(PerformanceTesteInput input)
{for (uint i = 0; i < input.N; i++){}return new Int32Value {Value = input.Seed};
}

输入

new PerformanceTesteInput()
{Exponent = 0,Seed = _executeResult,N = 1000000
}

执行结果

刚拿到500us这个数据,我们也是很诧异的,毕竟之前有个版本跑这个测试程序花了5ms。

我们以为是因为这次release的时候,把这段空循环代码给优化掉了。但是反编译后发现对应逻辑还在,数据没有问题。

开源区块链系统 AElf 性能测试系列文章 - 01相关推荐

  1. 区块链“国家队”上新,天津重磅发布自主可控区块链系统“海河智链”

    "十四五"规划纲要草案将"加快数字发展"作为独立篇章,区块链等技术与应用被列为七大数字经济重点产业.脱虚向实的区块链将成为中国新技术基础设施,因此全国多地在大力 ...

  2. 叶胜超区块链:Aelf(ELF)---去中心化的云计算区块链网络!

    01 项目简介 Aelf代币简称为ELF,中文被戏称为:阿姨父或者姨父,和它对应的一个币被称为"阿姨",也就是AE, ælf是一个去中心化的云计算区块链网络,具有高性能,资源隔离和 ...

  3. 墨群区块链系统,我们来了

    今天和大家汇报一件事情,我们NSDI 2019的Monoxide论文已经完成了第一阶段的实现,近期将以墨群区块链问世.墨群分布式计算团队在去年获得四位互联网前辈的个人天使投资之后,我便和团队一起进入紧 ...

  4. AIADATA 独家深度解密:百度XuperChain开源区块链基础平台

    AIADATA 独家深度解密:百度XuperChain开源区块链基础平台 百度超级链Xuperchain正式宣布开源.根据官网显示,链内并行技术.可插拔共识机制.一体化智能合约等四大技术支撑开源,让区 ...

  5. 开源 区块链_区块链如何补充开源

    开源 区块链 大教堂和集市是一个经典的开源故事,由Eric Steven Raymond于20年前撰写. 在故事中,埃里克(Eric)描述了一种新的革命性软件开发模型,该模型在没有(或很少有)中央管理 ...

  6. 微软开源区块链平台项目 Bletchle

    在比特币领域大获成功后,越来越多的行业开始尝试通过区块链(Blockchain)技术在自己的业务中实施分布式分类帐(Ledger). 什么是区块链 区块链是一种用于创建数字交易分类帐的数据结构,或有关 ...

  7. 秘猿发布企业级开源区块链产品CITA

    近日,全球区块链技术厂商Cryptape秘猿科技宣布推出自主研发的企业级区块链产品--CITA(Cryptape Inter-enterprise Trust Automation)0.8的开源版本. ...

  8. OpenAtom XuperChain开发者夏季论坛落幕,多位行业大咖共话开源区块链前景

    6月25日,开放原子开源基金会和百度超级链在上海共同举办OpenAtom XuperChain开发者夏季论坛,开放原子开源基金会可信账本工作组执行秘书刘涛.百度区块链技术负责人荆博和北京邮电大学教授高 ...

  9. 开源 区块链_区块链将如何影响开源

    开源 区块链 中本聪(Satoshi Nakamoto)十年前以比特币起家的时候,已经找到了很多追随者,并成为去中心化运动. 对于某些人来说,区块链技术是一种宗教,它将对人类产生与互联网相同的影响. ...

最新文章

  1. 成功人士不用睡觉吗?
  2. C语言经典例71-编写函数输出结构体数据
  3. Gateway网关-路由断言工厂
  4. 【数据结构与算法】【算法思想】【推荐系统】向量空间
  5. ACwing 3. 完全背包问题(DP)
  6. ar android app,RakugakiAR安卓版
  7. ocp最新题库之052新题带答案整理-36题
  8. 深度学习数学基础一--最小二乘法
  9. 【Java学习笔记】修饰符
  10. sql将null替换为0_Firefox浏览器将被认为包含歧视性的 Master字眼替换为 Primary
  11. zooInspector下载
  12. DP_流水线调度问题与Johnson算法
  13. python离线安装环境 解决 ERROR: Could not find a version that satisfies the requirement xxx 以及winError[10061]
  14. 联想云计算机终端,联想智能云教室系统 V1.3.20.1109_C201105 最新官网版本
  15. 以前计算机学生都要学五笔吗,为什么曾经很火的五笔,还是给了拼音输入法?其实原因很简单...
  16. NIVIDIA Xavier联网问题
  17. Git基础-查看、添加、删除远程仓库链接
  18. 拍摄全景的要点,拍摄全景的注意事项有哪些?
  19. etf持仓如何影响现货金价?
  20. 《使用dbutils操作数据库》

热门文章

  1. java高校人事管理系统源码_基于jsp的某高校人事管理系统-JavaEE实现某高校人事管理系统 - java项目源码...
  2. stm32硬件SPI驱动3线SPI-LCD的方法
  3. 程序员必会知识!如何化身BAT面试收割机?2年以上经验必看
  4. 线程实现日期倒计时和计时
  5. 超微 X11SCA-F 主板 TrueNAS 系统中找不到核显解决办法
  6. 低速自动驾驶:新创公司弯道超车 Waymo 的最佳方法?...
  7. 易语言如何封装免杀防误报大漠多线程api模块
  8. 将32位4通道的tif遥感图片转化为8位4通道
  9. OPPOR7S_官方线刷包_救砖包_解账户锁
  10. 替代TeamViewer 5分钟限制的免费远程控制软件 - UltraViewer 免费远程控制软件