ひたすらベンチマークです。pcDuino(Allwinner A10, Cortex-A8@1008MHz + VFPv3 + NEON)でOpenBSD-6.3/armv7、clang-5.0.1だとこんな感じ。-mfloat-abi=softfpを忘れると浮動小数点演算はソフトウェアでやることになるので恐ろしい結果になります。
seconds | options |
8636.517 | -O3 -ffast-math |
1321.755 | -O3 -ffast-math -mfloat-abi=softfp -mfpu=vfp |
1320.601 | -O3 -ffast-math -mfloat-abi=softfp -mfpu=vfpv3 |
1319.413 | -O3 -ffast-math -mfloat-abi=softfp -mfpu=vfpv3-d16 |
301.106 | -O3 -ffast-math -mfloat-abi=softfp -mfpu=neon |
303.458 | -O3 -ffast-math -mfloat-abi=hard -mfpu=neon |
Banana Pi(Allwinner A20, Cortex-A7@912MHz + VFPv4 + NEON)でOpenBSD-6.3/armv7だと、こう。こちらも-ffast-math -mfpu=neonだと-mfloat-abi=softfpの指定が無いので浮動小数点演算はソフトウェアで以下略。
seconds | options |
10037.693 | -O3 -ffast-math -mfpu=neon |
437.039 | -O3 -ffast-math -mfloat-abi=softfp -mfpu=vfp |
436.613 | -O3 -ffast-math -mfloat-abi=softfp -mfpu=vfpv3 |
436.318 | -O3 -ffast-math -mfloat-abi=softfp -mfpu=vfpv3-d16 |
358.505 | -O3 -ffast-math -mfloat-abi=softfp -mfpu=neon |
357.988 | -O3 -ffast-math -mfloat-abi=hard -mfpu=neon |
436.393 | -O3 -ffast-math -mfloat-abi=softfp -mfpu=vfpv4 |
436.413 | -O3 -ffast-math -mfloat-abi=softfp -mfpu=vfpv4-d16 |
359.145 | -O3 -ffast-math -mfloat-abi=softfp -mfpu=neon-vfpv4 |
pcDuinoでDebian9.4(armhf)のベンチマークは前回も行っていますが、今回はThumb-2ではなくARMバイナリで再度ベンチマークしてみました。armhfというだけあって、-mfloat-abi=hard以外の選択肢は選べないようになっています(つまり、VFP/NEON無しの性能が分からない)。
seconds | options |
1564.475 | -O3 -ffast-math -mfloat-abi=hard -mfpu=vfpv3-d16 -marm |
1564.331 | -O3 -ffast-math -mfloat-abi=hard -mfpu=vfp -marm |
1562.674 | -O3 -ffast-math -mfloat-abi=hard -mfpu=vfpv3 -marm |
332.503 | -O3 -ffast-math -mfloat-abi=hard -mfpu=neon -marm |
結果を見る限りでは、なんとなくこんな感じに見えます。
- Cortex-A7のVFPは速い
- NEONの効果は大きい
- (direwolfの場合は)-mfpuでどのVFPを指定してもあまり変わらない
- -mfloat-abiはsoftfpよりhardの方が速いと言われているが、分からない
- -mthumbより-marmの方が速いと言われているが、Thumb-2だとARMとの差は非常に小さい
Cortex-A7とCortex-A8の整数演算性能がどの程度違うのかは気になるのですが、Cortex-A7の場合はマルチコアで回せるので気にする意味が無いのかもしれません(とはいえ、現状のOpenBSD/armv7はコア一つしか使わないので多少は気になる)。
最近のweb pageは横幅を1024pxで表示することを前提にしているのが多いのか、SXGAのモニタ(相変わらずSONY SDM-M61)だと非常に手狭です。今回のベンチマーク祭りで大量のコンソールを開くのも非常に大変だったので、I-O DATA EX-LD2071TBをもう一台発注しました。細かすぎて使うのはしんどくまた二台も置く場所が無い気もしますが、どうにかするしかありません…58.60kg(21:25)