feature article
Subscribe Now

Dhrystone Is Dead; Long Live CoreMark!

“There are lies, damn lies, and benchmarks.” With apologies to Mark Twain (or possibly Benjamin Disraeli or maybe Henry Du Pré Labouchère), benchmarks have been used and abused ever since there have been computers. Like the question about when the first auto race was held (“as soon as the second automobile was built”), the question of who makes the fastest computer has beguiled and bedeviled engineers for ages. Now, just maybe, we may be making progress toward settling that dispute.

The bigger the computer, the bigger the benchmark. Conversely, testing just the microprocessor by itself requires only the simplest of code loops – or so it might appear. But even the simplest benchmark distorts the true nature of the processor you’re testing, as any “marketing engineer” can tell you. No matter what you measure – clock speed, arithmetic agility, procedural proficiency, or what have you – you’re always leaving something out. No synthetic test can truly encapsulate all the goodness (and badness) of a microprocessor.

For most of recorded history, the Dhrystone benchmark was the acid test for microprocessors, and sometimes for complete systems. Dhrystone is woefully inadequate, but that hasn’t stopped millions of curious programmers and incautious marketeers from using it to establish their bona fides. Intended as an integer-only alternative to the Whetstone benchmark (whose name it clearly mimics), Dhrystone is small, simple, easily portable, and utterly useless.

Enter EEMBC, the Embedded Microprocessor Benchmark Consortium. This nonprofit industry group has developed dozens of intricately engineered and skillfully crafted benchmarks for a variety of specialty industries. There are EEMBC benchmarks for automotive applications, industrial controllers, fax machines, and most other types of embedded applications you can name. What the group hasn’t ever created was a basic, all-purpose benchmark to replace the ubiquitous Dhrystone – until now.

All Hail CoreMark

Starting this week, the group has released CoreMark, a free benchmark for measuring your favorite microprocessor or microcontroller. CoreMark is distributed as C source code that anyone can download and compile. In fact, please do. Anyone can post their CoreMark benchmark results at www.CoreMark.org, which acts as a public clearinghouse for CoreMark results from all over the world. For embedded developers shopping for their next processor or microcontroller, the site should become a valuable resource.

CoreMark makes very few assumptions about the target hardware (apart from the existence of a working C compiler), so it works on chips with or without caches, with or without floating-point units, with or without specific peripherals, and so on. In short, CoreMark should run on just about any processor worthy of the name and deliver useful results.

Where does CoreMark succeed where Dhrystone fails? By paying attention to the way we write code and the way certain, uh, overeager marketing departments have, shall we say, “optimized” their Dhrystone scores over the years. Because Dhrystone is very small and simple, and because its results are often given so much weight, there’s a big incentive to tweak it – sometimes to the point where it compiles into little more than a sequence of NOPs. Clearly, some kind of legitimate alternative was needed.

In contrast to Dhrystone, CoreMark can’t be optimized away with compiler switches or creative programming. And although it’s still a synthetic benchmark, CoreMark mimics real-life workloads better than Dhrystone ever could. It contains a mixture of integer arithmetic, matrix manipulation, linked lists, state-machine operation with data-dependant branches, and a CRC, among other typical tasks. It’s also fairly smart about timing the right things, like the actual loops and not the overhead of library calls. Dhrystone was often a better test of the compiler than of the processor; CoreMark is designed to invert that relationship.

I’m sure CoreMark isn’t perfect – no benchmark is – and I’m equally sure that many programmers and marketing dweebs will cry foul and point to some arcane feature of some equally arcane chip that isn’t adequately represented in the test. Frankly, I don’t much care. Anything that displaces the miserable Dhrystone test is okay in my book. The EEMBC folks have shown themselves to be very clever when it comes to crafting practical and reliable benchmarks. We have much to be hopeful for.  

Leave a Reply

featured blogs
Apr 25, 2024
Structures in Allegro X layout editors let you create reusable building blocks for your PCBs, saving you time and ensuring consistency. What are Structures? Structures are pre-defined groups of design objects, such as vias, connecting lines (clines), and shapes. You can combi...
Apr 25, 2024
See how the UCIe protocol creates multi-die chips by connecting chiplets from different vendors and nodes, and learn about the role of IP and specifications.The post Want to Mix and Match Dies in a Single Package? UCIe Can Get You There appeared first on Chip Design....
Apr 18, 2024
Are you ready for a revolution in robotic technology (as opposed to a robotic revolution, of course)?...

featured video

How MediaTek Optimizes SI Design with Cadence Optimality Explorer and Clarity 3D Solver

Sponsored by Cadence Design Systems

In the era of 5G/6G communication, signal integrity (SI) design considerations are important in high-speed interface design. MediaTek’s design process usually relies on human intuition, but with Cadence’s Optimality Intelligent System Explorer and Clarity 3D Solver, they’ve increased design productivity by 75X. The Optimality Explorer’s AI technology not only improves productivity, but also provides helpful insights and answers.

Learn how MediaTek uses Cadence tools in SI design

featured paper

Designing Robust 5G Power Amplifiers for the Real World

Sponsored by Keysight

Simulating 5G power amplifier (PA) designs at the component and system levels with authentic modulation and high-fidelity behavioral models increases predictability, lowers risk, and shrinks schedules. Simulation software enables multi-technology layout and multi-domain analysis, evaluating the impacts of 5G PA design choices while delivering accurate results in a single virtual workspace. This application note delves into how authentic modulation enhances predictability and performance in 5G millimeter-wave systems.

Download now to revolutionize your design process.

featured chalk talk

Advancements in Motor Efficiency Enables More Sustainable Manufacturing
Climate change is encouraging the acceleration of sustainable and renewable manufacturing processes and practices and one way we can encourage sustainability in manufacturing is with the use of variable speed drive motor control. In this episode of Chalk Talk, Amelia Dalton chats with Maurizio Gavardoni and Naveen Dhull from Analog Devices about the wide ranging benefits of variable speed motors, the role that current feedback plays in variable speed motor control, and how precision measurement solutions for current feedback can lead to higher motor efficiency, energy saving and enhanced sustainability.
Oct 19, 2023
24,153 views