Hi, was ist schneller auf einem ATMega?
1 | uint16_t counter=512; |
2 | do { |
3 | irgendwas |
4 | } while ( --counter); |
oder
1 | uint8_t count1=2; |
2 | uint8_t count2=256; |
3 | |
4 | do { |
5 | do { |
6 | irgendwas |
7 | } while ( --count2); |
8 | } while ( --count1); |
Eigentlich sollte das 2. doch schneller sein, da er hier direkt mit den 8Bit-Registern arbeiten kann, oder? Ist nur die Frage, ob die zweifache Negation und Überprüfung des 2. Registern weniger Zeit in Anspruch nimmt als die 16-Bit-Aktionen. Weiss das jemand?