I’m running some experiments with bitcoin core software on AWS. I’m intrigued by 2 questions:
- Which performs better, ARM64 vs X86_64?
- What is performance loss of 32bit ARM vs 64bit ARM?
- I fired up a t3.medium instance with ubuntu desktop 20.04(x86_64) image
- I fired a second instance of t4g.medium type with ubuntu desktop 20.04 (arm64) image
- To run 32bit ARM program, I followed the chroot approach documented in my previous post and set up an armhf Ubuntu 20.04 (focal) chroot environment
- Then I download all 3 versions of bitcoin core software from its download site : 32bit ARM, 64bit ARM and 64bit Intel.
- Run bitcoin-qt from scratch (delete ~/.bitcoin directory if any) and count the time duration for the verifying first 200,000 blocks.
- Each configuration runs 2 times. We then take the average.
- Other system variables are monitored to ensure similar running environment. Specifically networking or disk don’t seem to be a factor.
See results listed below. It seems for bitcoin related workload 64bit ARM version performs 20% faster than 32bit ARM version and 64bit Intel instance.
|category||64bit ARM||32bit ARM||64bit Intel|
|CPU||Graviton2||Graviton2||Intel Xeon Platinum 8000 series|
|# CPU cores||2||2||2|
|run duration #1||8’44” (524″)||10’24” (624″)||11’16″(676″)|
|run duration #2||7’30” (450″)||9’58″(598″)||9’04″(544″)|
|run duration average||487″||611″||610″|
|relative performance to 64bit ARM||100%||80%||80%|
|Pricing (us-west-2/Orgon) ($/hr)||0.0336||0.0336||0.0416|