I was wondering about performance comparisons. Wouldn't using a programming language other than assembly be an unfare comparison? The reason I say this is for one that not all compilers optimize too well. So the final code may be really incorrect.
In assembly however you can do the minimum that each processors instructions take to do the task. Say add for instance. You can create the insructions necessary to add two numbers and you know you're using the minimum amount of instructions required for that processor to accomplish that task. You do that for each one. Then you're comparing the same functions like add, subtract, etc.
However with C or any other language you're depending on variances in how the compiler gets the resulting code which may or may not be optimized for the task. You see that when people fuss about someone using a particular compiler with one micro and another with a different micro and trying to compare them. Someone could just complain that it was an ineffeciency of the compiler and not the controller.
Thought I would open it up to discussion and find a way to compare apples to apples.
We used to compare performance in just our coding by setting a bit before our code started and clearing it when our code finished. That way we could connect it to an o-scope and see the difference. However before hand we just ran the before and after switch without any code in between to account for code execution of the switching routine. That way code execution in between could be measured. It wasn't for comparing performance of microcontrollers but just to code efficiency. Of course at that time compilers we pretty crude.
Any thoughts, agreements, disagreements, or just discussion. Love to hear various thoughts on what people are experiencing.
Michael