Things to look at:
Serial.begin(9600); // could be faster
delay(50); // etc. directly or indirectly in the loop clearly slows things.
sensors.requestTemperatures(); // maybe check how fast this is
c = thermocouple.readCelsius(); // maybe check how fast this is
lcd.print("No T/C"); // etc. LCD operations are not fast. Do you need to do these every loop iteration ?
Maybe use a buffer here and consolidate to 1 write per target stream:
logfile.print(m); // milliseconds since start
logfile.print(", ");
logfile.print(c);
logfile.print(", ");
logfile.print(tempC);
logfile.print(", ");
logfile.print(P1,3);
logfile.print(", ");
logfile.print(P2,3);
logfile.println();
#if ECHO_TO_SERIAL
Serial.print(m); // milliseconds since start
Serial.print(", ");
Serial.print(c);
Serial.print(", ");
Serial.print(tempC);
Serial.print(", ");
Serial.print(P1,3);
Serial.print(", ");
Serial.print(P2,3);
Serial.println();
#endif //ECHO_TO_SERIAL