I2C transfer rates using Wire library.

Thank you for your responses.

First thing is I'm off by at least a factor of 8 as I converted from bits to bytes twice. So that gets us up to 8KByte/sec. Now I hope I am off by another factor of 10.

Lets see.
This prints out how many bytes / millisecond. I am getting 32 bytes from the slave for every count++. This prints every 1000 receives. It prints about 9. Lets call it 10 for math's sake.

10 = 32000 / x ==> x = 3200. That is 3.2 seconds for 32000 bytes. or about a second for 10000 bytes. Which is about 80000 bits / sec. with 20% overhead, that comes out to 100Kbits/sec. Bingo.

Thanks again!
If I missed something, please let me know.
Justin

  if(count++ % 1000 == 999){
    Serial.print(faults);
    Serial.print(" ");
    Serial.println(32000. / (millis() - last_time));
    last_time = millis();
  }

So we have 32000 bytes /