We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
We found the following document on Cortex-A9 performance.
List of ARM microarchitectures - Wikipedia, the free encyclopedia
Which claims 2.5 DMIPS/MHz per core for Cortex-A9 2GHz@2 core. However, our Dhrystone result on Cortex-A9 1.2GHz@2 core only showed roughly 1 DMIPS/MHz per core.
We downloaded the Dhrystone benchmark from the following link and cross-compiled it with gcc version 4.5.2.
dhrystone 2.1 - Download, Browsing & More | Fossies Archive
We realize that Dhrystone measurements will vary due to differences in compilers and OS. And I would like to know whether our result is reasonable or not?
Best,
Ying
Well I haven't the foggiest what could be causing the problem.
There is a note from ARM about running the benchmark at
http://infocenter.arm.com/help/topic/com.arm.doc.dai0273a/DAI0273A_dhrystone_benchmarking.pdf
They use armcc but I can't see it making that big a difference for something like this
The test does use some string functions but even if one rewrote them in C instead of using the optimised ones in the library I still don't think it would make that size difference.
It would be nice to have a very simple loop tuned to the A9 which could be used to check the clock is exactly what one thinks it is.
It seems that the benchmark is tainted by compiler. I am not using armcc.
The compiler is gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) and the Linux kenel is 3.4.5.
The results and the flags are as follows.
DMIPS/MHz/core=0.49 with flags of -O0 -DTIME -march=armv7-a
DMIPS/MHz/core=1.07 with flags of -O1 -DTIME -march=armv7-a
DMIPS/MHz/core=1.31 with flags of -O2 -DTIME -march=armv7-a
DMIPS/MHz/core=1.37 with flags of -O3 -DTIME -march=armv7-a
I was wondering what compiler flags should I use?
Notably, all of them are much lower than the official 2.5 DMIPS/MHz/core...