¿Cuál es la diferencia, en cuanto al rendimiento, entre leer desde un socket 1 byte un tiempo frente a leer en gran cantidad?Lectura de un socket 1 byte un tiempo frente a lectura en un fragmento grande
Tengo una aplicación C++ que necesita extraer páginas de un servidor web y analizar la página recibida línea por línea. Actualmente, estoy leyendo 1 byte a la vez hasta que encuentro un CRLF o se alcanza el máximo de 1024 bytes.
Si leer en gran cantidad (por ejemplo, 1024 bytes a la vez) es mucho mejor en cuanto a rendimiento, cualquier idea sobre cómo lograr el mismo comportamiento que tengo actualmente (es decir, poder almacenar y procesar 1 línea html en tiempo - hasta el CRLF sin consumir los bytes sucesivos todavía)?
EDIT:
no puedo pagar demasiado grandes memorias intermedias. Tengo un presupuesto de código muy ajustado ya que la aplicación se usa en un dispositivo integrado. Prefiero mantener solo un buffer de tamaño fijo, preferiblemente mantener una línea html a la vez. Esto hace que mi análisis sintáctico y otros procesos sean fáciles, ya que cada vez que intento acceder al búfer para analizarlos, puedo suponer que estoy procesando una línea html completa.
Gracias.
¿Podría dar más detalles sobre el dispositivo embebido? ¿Tiene incluso un sistema operativo? –