Performans Karşılaştırma Testi: AELF vs Ethereum

Aelf’in akıllı sözleşmelerin yürütülmesi ile ilgili performansı Ethereum’a göre binlerce kat daha hızlıdır.



1. Test Durumu ve Kod
2. Makine Yapılandırması
3. Test Sonuçları
3.1 EVM
3.2 AELF
3.2.1 LoopDivAdd10M
3.2.2 LoopExpNop1M

Aelf ağının gelişimi olgunlaştıkça, ağın performansını çeşitli açılardan test etmek için çeşitli testler yapılmaktadır.

Aelf'in temelindeki teknolojinin gelişmiş doğasını kontrol etmek için yapılan en yeni testlerden biri, aynı ortamda hem Ethereum hem de Aelf'in performansını karşılaştırmaktı.

Sonuçlar çarpıcıydı. Aelf’in sözleşme yürütme etkinliğinin, Ethereum’un EVM’inden çok daha yüksek olduğu ve işlem hızında binlerce kez olmasa da Ethereum’u yüzlerce kez geride bıraktığı kanıtlandı. Ethereum, 256 bit yığın boyutu ve gaz sayımı genel performansa önemli ölçüde katkıda bulunurken sözleşme yürütülmesini desteklemek için EVM modülünü kullanır. Bunun aksine Aelf, sözleşmeyi C# yansıması yoluyla çağırır ve bu, birçok gereksiz uygulamanın atlanmasına izin verir.

1. Test Durumu ve Kod

Test, Ethereum loop-DivAdd-10M.json ve loop-exp-nop-1M.json kullanılarak yapıldı.

ETH: Official go implementation sürümüne göre
https://github.com/ethereum/go-ethereum

AELF: Official C# implementation sürümüne göre
https://github.com/AElfProject/AElf

Test durumu, ETH için standart test:
https://github.com/ethereum/tests/tree/develop/src/VMTestsFiller

İlgili Aelf test programı:
https://github.com/AElfProject/AElf/blob/dev/bench/AElf.Benchmark

2. Makine Yapılandırması




3. Test Sonuçları

LoopDivAdd10M: EVM, Aelf'ten 169 kat daha uzun sürer

LoopExpNop1M: EVM, Aelf’ten 1223 kat daha uzun sürer

3.1 Ethereum Sanal Makinesi (EVM - Ethereum Virtual Machine)

Yerleşik test programı yürütme sonuçlarının official go implementation sürümü aşağıda gösterilmiştir.

LoopDivAdd10M:14.236813572s

LoopExpNop1M: 639.16568ms (ms: milisaniye)




3.2 AELF

LoopDivAdd10M: 84.01ms

LoopExpNop1M: 0.5225ms


3.2.1 LoopDivAdd10M

Bölme/Ekleme döngüsü 10 milyon kez

Yöntem:



Girdi:



Sonuç:



3.2.2 LoopExpNop1M

Yöntem:



Girdi:



Sonuç:



Aynı makine konfigürasyonu, 10 milyon döngü ekleme ve bölme testi durumunda Aelf; Ethereum Sanal Makinesinden (EVM) 169 kat daha yüksek olan sadece 84.01ms'ye ihtiyaç duyar; 1 milyon boş döngü... İkinci olarak Aelf, Ethereum'un EVM'sinden 1223 kat daha yüksek olan sadece 0.5225 ms'ye ihtiyaç duyar.

500 mikrosaniyenin sonucunu aldığımızda, biz de şaşırdık; bu test programını daha önce çalıştırmak 5 ms aldı. Bu boş döngü kodunun optimizasyonunun bu sürümden dolayı olduğunu düşündük. Ancak ters derlemeden sonra, ilgili mantık hâlâ oradadır ve verilerin hiçbir problemi yoktur.



KAYNAK: https://medium.com/@aelfblockchain/performance-comparison-test-aelf-vs-ethereum-c64912d3f592