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
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