Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * When counting in a circular fashion 0, 1, 2, 3, 0, 1 ...
- * branching is more efficient than modulus (%) operation
- *
- *
- *
- */
- int counter = 0;
- void setup() {
- Serial.begin(9600);
- }
- void loop() {
- unsigned long int start;
- unsigned long int finish;
- // modulus operation
- counter = 0;
- start = millis();
- for ( int i = 0 ; i < 32000 ; i++ ) {
- counter = (counter + 1) % 4;
- }
- finish = millis();
- Serial.print("modulus time: ");
- Serial.println(finish - start);
- // branch operation
- counter = 0;
- start = millis();
- for ( int i = 0 ; i < 32000 ; i++ ) {
- counter = counter + 1;
- if (counter == 4) {
- counter = 0;
- }
- }
- finish = millis();
- Serial.print("branch time: ");
- Serial.println(finish - start);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement