buffered bzw. unbuffered output

12/03/2008 - 05:22 von wolfgang.adamec | Report spam
Hallo!
Ich habe vor kurzem einen Versuch gemacht. Ich habe ein cgi programm,
welches mit dem apache 2.0.49
arbeitet, es gibt eine Liste mit einigen Eintràgen aus.
Das ursprüngliche Programm arbeitet ungepuffert, es sendet jeden
einzelnen Eintrag separat zum STDOUT.
Das hat den Effekt, dass gerade beim Firefox das Rendering sehr
langsam ist. Man kann - nicht jedes Mal, aber doch öfters - mit
ansehen, wie Firefox jede Zeile der Tabelle einzelne auf dem
Bildschirm aufbaut, und das dauert bei bei 30 oder 50 Zeilen eine
kleine Ewigkeit. Wenn ich aber das Programm so umstelle, dass ich in
meinem Programm alle Zeilen zusammensammle und am Ende EIN Mal zum
STDOUT schreibe, dann geht das
Rendering beim Firefox beachtlich schneller von statten.
Meine Frage ist nun: Warum braucht denn das Rendering bei zB 30 HTML-
Code-Schnipsel so viel lànger als für das Rendering des gleichen HTML-
Contents, aber halt nur in einem Stück?
Vielen Dank im voraus
Wolfgang
 

Lesen sie die antworten

#1 Arno Welzel
12/03/2008 - 08:48 | Warnen spam
wrote:

Meine Frage ist nun: Warum braucht denn das Rendering bei zB 30 HTML-
Code-Schnipsel so viel lànger als für das Rendering des gleichen HTML-
Contents, aber halt nur in einem Stück?



Bist Du sicher, dass es insgesamt lànger dauert und nicht nur ein
"psychologischer" Effekt ist? Wenn man z.B. 5 Sekuden lang gar nichts
sieht und dann ist die Tabelle "am Stück" da, wirkt da schneller, als
wenn man 5 Sekunden lang zusehen kann, wie sich einzelne Zeilen aufbauen.

Falls "am Stück" wirklich absolut schneller ist und nicht nur "gefühlt",
könnte ich mir vorstellen, dass FF diverse Berechnungen für das
Rendering nur einmal machen muss, wàhrend bei zeilenweiser Ausgabe
jedesmal die kompletten Berechnungen für die Tabelle erfolgen müssen -
also bei 30 Zeilen dann eben 30x statt nur 1x für die komplette Tabelle.
Vermutlich greift intern ein Timer, der das Rendering anstösst, wenn für
eine gewisse Zeit keine Daten vom Server kommen.


http://arnowelzel.de
http://de-rec-fahrrad.de

Ähnliche fragen