Keil Logo

Keil C51 Code Comparison

The following benchmarks compare the output generated by the Keil C51 Version 5, Version 6, and Version 8 8051 compilers. The source code used for the benchmarks is included with the C51 Evaluation Software.

Sieve
Benchmarks
Compiler
C51 V8.05 C51 V8.05 C51 V6.12 C51 V6.12 C51 V5.02
Settings
Memory Model SMALL SMALL SMALL SMALL SMALL
ROM Model LARGE LARGE LARGE LARGE LARGE
Optimization Level 9,SIZE 8,SPEED 9,SIZE 8,SPEED 6,SPEED
Performance
Execution Time
12MHz 8051
        6.012 secs
Execution Time
25MHz 80C320
        1.403 secs
Code Size
Module
        166 bytes
Code Size
Total
        1,240 bytes
DATA Size
Dynamic
        41 bytes
Sieve
Benchmarks
Compiler
C51 V8.05 C51 V8.05 C51 V6.12 C51 V6.12 C51 V5.02
Settings
Memory Model LARGE LARGE LARGE LARGE LARGE
ROM Model LARGE LARGE LARGE LARGE LARGE
Optimization Level 9,SIZE 8,SPEED 9,SIZE 8,SPEED 6,SPEED
Performance
Execution Time
12MHz 8051
        7.460 secs
Execution Time
25MHz 80C320
        1.743 secs
Code Size
Module
        209 bytes
Code Size
Total
        1,313 bytes
DATA Size
Dynamic
        22 bytes
XDATA Size
Dynamic
        8,237 bytes
Dhrystone
Benchmarks
Compiler
C51 V8.05 C51 V8.05 C51 V6.12 C51 V6.12 C51 V5.02
Settings
Memory Model LARGE LARGE LARGE LARGE LARGE
ROM Model LARGE LARGE LARGE LARGE LARGE
Optimization Level 9,SIZE 8,SPEED 9,SIZE 8,SPEED 6,SIZE
Performance
Execution Time
12MHz 8051
  1.033 secs 1.112 secs 1.029 secs 1.096 secs
Execution Time
25MHz 80C320
  0.178 secs 0.258 secs 0.234 secs 0.254 secs
Code Size
Module
  2,156 bytes 1,717 bytes 2,163 bytes 1,905 bytes
Code Size
Total
  5,607 bytes 5,197 bytes 5,614 bytes 5,269 bytes
XDATA Size
Dynamic
  5,523 bytes 5,523 bytes 5,523 bytes 5,538 bytes
Whetstone
Benchmarks
Compiler
C51 V8.05 C51 V8.05 C51 V6.12 C51 V6.12 C51 V5.02
Settings
Memory Model LARGE LARGE LARGE LARGE LARGE
ROM Model LARGE LARGE LARGE LARGE LARGE
Optimization Level 9,SIZE 8,SPEED 9,SIZE 8,SPEED 6,SIZE
Performance
Execution Time
12MHz 8051
    4.647 secs 4.445 secs 4.493 secs
Execution Time
25MHz 80C320
    0.973 secs 0.915 secs 0.941 secs
Code Size
Module
    3,596 bytes 5,446 bytes 4,306 bytes
Code Size
Total
    186 bytes 186 bytes 189 bytes
XDATA Size
Dynamic
    8,618 bytes 10,486 bytes 9,236 bytes
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.