Also I2C Frequenz hochsetzen: Das geht auch unabhängig vom Slave CPU Takt. (z.B. auf 400 kHz)
Wie oft rufst du das auf? Und welche I2C library verwendest du?

Und dann zeig mal etwas mehr Code. So sieht man ja echt nichts davon. Wird das in einem Interrupt aufgerufen? Welche Typen sind die Variablen? Also das was lang dauert ist vermutlich die Kommunikation. Da könnte es helfen eine Interrupt basierte Library zu verwenden.