1. 引言
开源代码见:
goldilocks# ./bench
2023-12-18T02:06:43+00:00
Running ./bench
Run on (128 X 2650 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x64)
L1 Instruction 32 KiB (x64)
L2 Unified 512 KiB (x64)
L3 Unified 32768 KiB (x8)
Load Average: 0.08, 1.92, 4.67
---------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
---------------------------------------------------------------------------------------------------
POSEIDON_BENCH_FULL/64/real_time 215672 us 215665 us 3 BytesProcessed=890.241M/s Rate=6.58178us
POSEIDON_BENCH_FULL/128/real_time 117095 us 117093 us 6 BytesProcessed=1.60126G/s Rate=3.57346us
POSEIDON_BENCH_FULL_AVX/64/real_time 77219 us 77216 us 9 BytesProcessed=2.42815G/s Rate=2.35655us
POSEIDON_BENCH_FULL_AVX/128/real_time 42010 us 42007 us 17 BytesProcessed=4.46323G/s Rate=1.28204us
POSEIDON_BENCH/64/real_time 212826 us 212819 us 3 BytesProcessed=902.145M/s Rate=6.49494us
POSEIDON_BENCH/128/real_time 109300 us 109296 us 6 BytesProcessed=1.71546G/s Rate=3.33557us
POSEIDON_BENCH_AVX/64/real_time 77543 us 77540 us 9 BytesProcessed=2.418G/s Rate=2.36644us
POSEIDON_BENCH_AVX/128/real_time 69186 us 69132 us 11 BytesProcessed=2.71009G/s Rate=2.11139us
LINEAR_HASH_BENCH/64/real_time 10262542 us 10261880 us 1 BytesProcessed=798.243M/s Rate=4.89356us
LINEAR_HASH_BENCH/128/real_time 7548851 us 7235086 us 1 BytesProcessed=1085.2M/s Rate=3.59957us
LINEAR_HASH_BENCH_AVX/64/real_time 4279616 us 3876050 us 1 BytesProcessed=1.86933G/s Rate=2.04068us
LINEAR_HASH_BENCH_AVX/128/real_time 3023446 us 2963734 us 1 BytesProcessed=2.64599G/s Rate=1.44169us
MERKLETREE_BENCH/64/real_time 9595622 us 7825490 us 1 BytesProcessed=853.723M/s Rate=4.57555us
MERKLETREE_BENCH/128/real_time 8261920 us 7953147 us 1 BytesProcessed=991.537M/s Rate=3.93959us
MERKLETREE_BENCH_AVX/64/real_time 4609280 us 3884992 us 1 BytesProcessed=1.73563G/s Rate=2.19788us
MERKLETREE_BENCH_AVX/128/real_time 3614813 us 3299295 us 1 BytesProcessed=2.21312G/s Rate=1.72368us
MERKLETREE_BATCH_BENCH/64/real_time 9701176 us 9111133 us 1 BytesProcessed=844.434M/s Rate=4.62588us
MERKLETREE_BATCH_BENCH/128/real_time 8798086 us 8709507 us 1 BytesProcessed=931.112M/s Rate=4.19525us
MERKLETREE_BATCH_BENCH_AVX/64/real_time 4650252 us 4424796 us 1 BytesProcessed=1.72034G/s Rate=2.21741us
MERKLETREE_BATCH_BENCH_AVX/128/real_time 3623811 us 3496373 us 1 BytesProcessed=2.20762G/s Rate=1.72797us
NTT_BENCH/64/real_time 3.82 s 3.27 s 1
NTT_BENCH/128/real_time 3.54 s 3.09 s 1
NTT_BLOCK_BENCH/64/real_time 2.18 s 2.18 s 1
NTT_BLOCK_BENCH/128/real_time 2.87 s 2.85 s 1
LDE_BENCH/64/real_time 11.5 s 10.5 s 1
LDE_BENCH/128/real_time 11.6 s 10.5 s 1
LDE_BLOCK_BENCH/64/real_time 17.6 s 13.7 s 1
LDE_BLOCK_BENCH/128/real_time 14.2 s 13.5 s 1
EXTENDEDPOL_BENCH/64/real_time 5.21 s 5.21 s 1
EXTENDEDPOL_BENCH/128/real_time 5.40 s 5.07 s 1
附录:Polygon Hermez 2.0 zkEVM系列博客
- ZK-Rollups工作原理
- Polygon zkEVM——Hermez 2.0简介
- Polygon zkEVM网络节点
- Polygon zkEVM 基本概念
- Polygon zkEVM Prover
- Polygon zkEVM工具——PIL和CIRCOM
- Polygon zkEVM节点代码解析
- Polygon zkEVM的pil-stark Fibonacci状态机初体验
- Polygon zkEVM的pil-stark Fibonacci状态机代码解析
- Polygon zkEVM PIL编译器——pilcom 代码解析
- Polygon zkEVM Arithmetic状态机
- Polygon zkEVM中的常量多项式
- Polygon zkEVM Binary状态机
- Polygon zkEVM Memory状态机
- Polygon zkEVM Memory Align状态机
- Polygon zkEVM zkASM编译器——zkasmcom
- Polygon zkEVM哈希状态机——Keccak-256和Poseidon
- Polygon zkEVM zkASM语法
- Polygon zkEVM可验证计算简单状态机示例
- Polygon zkEVM zkASM 与 以太坊虚拟机opcode 对应集合
- Polygon zkEVM zkROM代码解析(1)
- Polygon zkEVM zkASM中的函数集合
- Polygon zkEVM zkROM代码解析(2)
- Polygon zkEVM zkROM代码解析(3)
- Polygon zkEVM公式梳理
- Polygon zkEVM中的Merkle tree
- Polygon zkEVM中Goldilocks域元素circom约束
- Polygon zkEVM Merkle tree的circom约束
- Polygon zkEVM FFT和多项式evaluate计算的circom约束
- Polygon zkEVM R1CS与Plonk电路转换
- Polygon zkEVM中的子约束系统
- Polygon zkEVM交易解析
- Polygon zkEVM 审计及递归证明
- Polygon zkEVM发布公开测试网2.0
- Polygon zkEVM测试集——创建合约交易
- Polygon zkEVM中的Recursive STARKs
- Polygon zkEVM的gas定价
- Polygon zkEVM zkProver基本设计原则 以及 Storage状态机
- Polygon zkEVM bridge技术文档
- Polygon zkEVM Trustless L2 State Management 技术文档
- Polygon zkEVM中的自定义errors
- Polygon zkEVM RPC服务
- Polygon zkEVM Prover的 RPC功能
- Polygon zkEVM PIL技术文档
- Polygon zkEVM递归证明技术文档(1)【主要描述了相关工具 和 证明的组合、递归以及聚合】
- Polygon zkEVM递归证明技术文档(2)—— Polygon zkEVM架构设计
- Polygon zkEVM递归证明技术文档(3)——代码编译及运行
- Polygon zkEVM递归证明技术文档(4)—— C12 PIL Description
- Polygon zkEVM递归证明技术文档(5)——附录:借助SNARKjs和PIL-STARK实现proof composition
- eSTARK:Polygon zkEVM的扩展STARK协议——支持lookup、permutation、copy等arguments(1)
- eSTARK:Polygon zkEVM的扩展STARK协议——支持lookup、permutation、copy等arguments(2)
- eSTARK:Polygon zkEVM的扩展STARK协议——支持lookup、permutation、copy等arguments(3)
- Polygon zkEVM的Dragon Fruit和Inca Berry升级
- Polygon zkEVM协议治理、升级及其流程
- Polygon zkEVM 节点软件release日志
- Polygon zkEVM bridge服务 release日志
- Polygon zkEVM DataStreamer