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 Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user