I have proted Dhrystone to the FX2LP, and ran it at 48 Mhz. I get the
results below, which translates to 0.0096 DMIPS / Mhz (vs. 0.355 DMIPS /
Mhz for stm8 in current SDCC). So the STM8 is about 37 times faster per
Mhz than the FX2LP. Does that seem about right?
For the FX2LP I Used --model-large and otherwise default options, while
for the stm8 I used heavy optimization for code speed - AFAIK the
optimization options don't make a big difference for mcs51 yet.
Does anyone have numbers for other compilers or mcs51 variants?
Philipp
Dhrystone Benchmark, Version 2.1 (Language: C)
Program compiled with 'register' attribute
Please give the number of runs through the benchmark:
Execution starts, 10000 runs through Dhrystone
Execution ends
Final values of the variables used in the benchmark:
Int_Glob: 5
should be: 5
Bool_Glob: 1
should be: 1
Ch_1_Glob: A
should be: A
Ch_2_Glob: B
should be: B
Arr_1_Glob[8]: 7
should be: 7
Arr_2_Glob[8][7]: 10010
should be: Number_Of_Runs + 10
Ptr_Glob->
Ptr_Comp: 15884
should be: (implementation-dependent)
Discr: 0
should be: 0
Enum_Comp: 2
should be: 2
Int_Comp: 17
should be: 17
Str_Comp: DHRYSTONE PROGRAM, SOME STRING
should be: DHRYSTONE PROGRAM, SOME STRING
Next_Ptr_Glob->
Ptr_Comp: 15884
should be: (implementation-dependent), same as above
Discr: 0
should be: 0
Enum_Comp: 1
should be: 1
Int_Comp: 18
should be: 18
Str_Comp: DHRYSTONE PROGRAM, SOME STRING
should be: DHRYSTONE PROGRAM, SOME STRING
Int_1_Loc: 5
should be: 5
Int_2_Loc: 13
should be: 13
Int_3_Loc: 7
should be: 7
Enum_Loc: 1
should be: 1
Str_1_Loc: DHRYSTONE PROGRAM, 1'ST STRING
should be: DHRYSTONE PROGRAM, 1'ST STRING
Str_2_Loc: DHRYSTONE PROGRAM, 2'ND STRING
should be: DHRYSTONE PROGRAM, 2'ND STRING
Microsecons for one run through Dhrystone: 1232
Dhrystones per Second: 811
------------------------------------------------------------------------------
_______________________________________________
Sdcc-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user