Изучить, конечно можно. Но здесь речь зашла о тормозах при больших файлах. Хотел было тоже подумать за возможные звенья таких тормозов, но для этого заняться изучением чужих исходников пока не готов - думал мож кто уже изучил и сможет на простой вопрос ответить.
Вот всё заморочились, есть буфер приёма, так вот он просто не должен быть пустым для нормальной работы станка и должен своевременно пополнятся командами. Этот буфер естественно имеет определённый размер.
// Serial send and receive buffer size. The receive buffer is often used as another streaming
// buffer to store incoming blocks to be processed by Grbl when its ready. Most streaming
// interfaces will character count and track each block send to each block response. So,
// increase the receive buffer if a deeper receive buffer is needed for streaming and avaiable
// memory allows. The send buffer primarily handles messages in Grbl. Only increase if large
// messages are sent and Grbl begins to stall, waiting to send the rest of the message.
// NOTE: Grbl generates an average status report in about 0.5msec, but the serial TX stream at
// 115200 baud will take 5 msec to transmit a typical 55 character report. Worst case reports are
// around 90-100 characters. As long as the serial TX buffer doesn't get continually maxed, Grbl
// will continue operating efficiently. Size the TX buffer around the size of a worst-case report.
//#define RX_BUFFER_SIZE 128 // (1-254) Uncomment to override defaults in serial.h
//#define TX_BUFFER_SIZE 100 // (1-254)