Hallo Emipl,
Ein Serializer auf Byteebene hingegen beginnt ab dem ersten angekommen Byte
Äh, Du meinst sicher Deserializer 😉. Und die grundsätzlichen Probleme mit einem Binärformat hatte ich ja in meinem deja-vu Beitrag von 15:21 erwähnt...
Zum ZIP-Format: Ich bin nicht ganz sicher, aber ich meine, dass GZIP streamingfähig ist. D.h. nachdem Du ein paar hundert Bytes empfangen hast, kannst Du schon so viel auspacken, dass Du im zweiten Thread mit dem Aufbau des DOM anfangen kannst (bzw. im gleichen Thread, während der I/O-Buffer sich wieder füllt). Erstmal das komplette ZIP empfangen und dann erst auspacken ist sicherlich so ineffizient wie Du beschreibst, aber der von Dir geschilderte Effekt sollte sich durch geschickte Programmierung kompensieren lassen.
Serverseitig wird man beim ersten GZIPpen etwas mehr Vorlauf brauchen, weil es das LZ-Fenster gibt. Bei GZIP sind das 32K. Der Engpass ist aber typischerweise die Leitung, nicht der Server, so dass das nicht so ins Gewicht fallen dürfte, und bei statischen Ressourcen cached der Server das GZIP-Ergebnis ja auch.
Rolf
sumpsi - posui - clusi