Efficient code for sd card speed

You have a lot of Serial output in your sketch. You can speed that up.

//Serial.begin(9600)
Serial.begin(115200);

Perhaps some of the serial output is for debugging purposes and can be commented out, or enabled with a #ifdef debug toggle for debug output. Toggling Debug Code - Bugs & Suggestions - Arduino Forum