Qual è la differenza - prestazioni-saggio - tra la lettura da una presa 1 byte alla volta e la lettura in grande blocco?Lettura da una presa 1 byte alla volta contro lettura in grande blocco
Ho un'applicazione C++ che deve prelevare pagine da un server Web e analizzare la pagina ricevuta riga per riga. Attualmente sto leggendo 1 byte alla volta fino a quando non incontro un CRLF o il massimo di 1024 byte è raggiunto.
Se la lettura di una grande porzione (ad es. 1024 byte alla volta) è molto più efficace sul piano delle prestazioni, qualsiasi idea su come ottenere lo stesso comportamento che ho attualmente (cioè essere in grado di memorizzare ed elaborare 1 linea html in un tempo - fino al CRLF senza consumare i byte successivi ancora)?
EDIT:
non posso permettermi troppo grandi buffer. Sono in un budget di codice molto ristretto poiché l'applicazione viene utilizzata in un dispositivo incorporato. Preferisco mantenere solo un buffer a dimensione fissa, preferibilmente per contenere una linea html alla volta. Questo rende il mio parsing e l'altra elaborazione facile come sono ogni volta che provo ad accedere al buffer per l'analisi, posso presumere che sto elaborando una linea html completa.
Grazie.
Potrebbe fornire maggiori dettagli sul dispositivo incorporato? Ha anche un sistema operativo su di esso? –