Benchmarking CrossWorks for AVR

Before purchasing a language translation system, everybody wants to know how you stack up against the competition. We're constantly asked how we perform against other compilers that are on the market, what our unique selling proposition is. Well, here is a sample set of benchmarks that we've gathered during development of our compilers and we present the results of our benchmarking here.

To be useful, these results must be fair. That is, we're not goint to misrepresent our own product when comparing against the others. The code that is presented here is downloadable by customers and vendors alike so that you can verify and check our results and benchmarking methodology. If you find a mistake or have a comment, please e-mail us a correction or your comments to support@rowley.co.uk.

Generic Benchmarks

ECC Benchmark Code Size (bytes) Execution Time
(cycles)
Remarks
Debug Size
CrossWorks 1.0 14,860 8,906 10,315,712
IAR EWAVR 3.20C 14,911 10,977 10,264,417
ImageCraft ICCAVR 6.31A 18,098 15,624 15,203,857 Fails codec tests, four errors reported
CodeVisionAVR 1.24.4a 21,224 15,872 22,735,597 Versions <1.24.4a fail codec tests, 16 erros reported
WinAVR 20040720 / GCC 3.4.1 22,528 13,850
SUSAN Benchmark Code Size (bytes) Execution Time
(cycles)
Remarks
Debug Size
CrossWorks 1.0 36,208 14,910 13,819,371
IAR EWAVR 3.20C 37,289 16,603 13,988,497
ImageCraft ICCAVR 6.31A Fails to compile, reports "internal error" during compilation
CodeVisionAVR 1.24.4a 42,478 24,456 20,265,354 Fails to compile—sources patched
WinAVR 20040720 / GCC 3.4.1 59,354 29,110
GSM Benchmark Code Size (bytes) Execution Time
(cycles)
Remarks
Debug Size
CrossWorks 1.0 34,036 17,056
IAR EWAVR 3.20C 32,178 15,062
ImageCraft ICCAVR 6.31A 56,392 33,326
CodeVisionAVR 1.24.4a Fails to compile tests
WinAVR 20040720 / GCC 3.4.1 56,914 31,958

AVR-only Benchmarks

uIP Benchmark Debug Code Size Smallest Code Size
CrossWorks 1.0 8,760 6,382
IAR EWAVR 3.20C 9,262 6,344
ImageCraft ICCAVR 6.31A 11,686 10,632
uIP Benchmark Debug Code Size Smallest Code Size
CrossWorks 1.0
IAR EWAVR 3.20C
ImageCraft ICCAVR 6.31A