Thomas Grötzner: XHTML Hat jemand Erfahrung mit der Zeit fürs Rendern

Hallo Forum,

ich sammel grade meine ersten Erfahrungen mit XHTML (strict). Gefällt mir soweit ganz gut da ich HTML bisher auch schon weitestgehend nach den Regeln die für XML gelten geschrieben habe.

Eine Frage habe ich dazu aber an euch da ich hierfür im Internet und im Archiv keine Antwort gefunden habe:

Kann bzw. wird XHTML im Browser (mich interessiert hierbei primär IE 5.5 aufwärts) schneller interpretiert werden als HTML?

Ich arbeite mit sehr großen Tabellen (5-10 Spalten mal > 1000 Zeilen ergibt im Schnitt mehr als 7000 Zellen, kann aber auch noch einiges mehr werden) und dies dauert nach der Übertragung vom Server noch mal ganz schön bis die Tabelle dann wirklich dargestellt wird!

Meiner Ansicht nach müsste die Parsingzeit des Browsers doch rapide abnehmen da ein wohlgeformtes Dokument vorliegt. Bei Browsern heisst es ja immer dass über 80% des Parsing-Codes nur Behandlung von Ausnahmen sind (falsche Tag-Reihenfolge, fehlende Tags,...). Diese ganzen Dinge fallen dann ja bei XHTML eigentlich weg. Ob das natürlich schon berücksichtigt ist weiss ich nicht. Eine Zeitmessung scheint mir mit den Bordmitteln nicht möglich zu sein.

Ciao
Thomas Grötzner
------------------------------------------------------------------------
Langsam muss ich mir mal ernsthafte Gedanken über eine Signatur machen

  1. Hi,

    ich sammel grade meine ersten Erfahrungen mit XHTML (strict). Gefällt mir soweit ganz gut da ich HTML bisher auch schon weitestgehend nach den Regeln die für XML gelten geschrieben habe.
    Kann bzw. wird XHTML im Browser (mich interessiert hierbei primär IE 5.5 aufwärts) schneller interpretiert werden als HTML?
    Ich arbeite mit sehr großen Tabellen (5-10 Spalten mal > 1000 Zeilen ergibt im Schnitt mehr als 7000 Zellen, kann aber auch noch einiges mehr werden) und dies dauert nach der Übertragung vom Server noch mal ganz schön bis die Tabelle dann wirklich dargestellt wird!

    Wenn Du bisher schon im HTML alle (auch die optionalen) End-tags korrekt gesetzt hattest, wo soll da der große Unterschied herkommen?

    Bei riesigen Tabellen ist es m.E. gar nicht so sehr das Parsen des HTMl, sondern eher das Berechnen der benötigten Spaltenbreiten, das viel Zeit beansprucht.
    Die Verwendung von colgroup/col mit Spaltenbreiten und für table noch im style die Angabe table-layout:fixed; (ergänzt durch overflow:hidden für die Zellen) dürfte da m.E. mehr bringen.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. Hallo Andreas,

      Wenn Du bisher schon im HTML alle (auch die optionalen) End-tags korrekt gesetzt hattest, wo soll da der große Unterschied herkommen?

      Ich glaube schon dass ein Parser der rein XML-Dokumente parst schneller sein sollte als ein HTML-Parser der doch (auch bei wohlgeformtem Code) sicher einiges mehr an Instructions durchlaufen muss.

      Deine Tipps mit colgroup/col, table-layout:fixed,... sagen mir (bis auf colgroup selbst) bisher gar nichts aber das schaue ich im Laufe der nächsten Tage mal in selfhtml nach. Bin sicher dass ich da passende Erklärungen finde. Ich brauch da aber ein paar Tage für da ich das nur so nebenbei machen kann.

      Danke jedenfalls für die Anregung.

      Ciao
      Thomas Grötzner
      --
      Programmiere immer als wäre der Käufer Deines Programmes ein wahnsinniger Massenmörder der weiss wo Du wohnst...

      1. Hi,

        Ich glaube schon dass ein Parser der rein XML-Dokumente parst schneller sein sollte als ein HTML-Parser der doch (auch bei wohlgeformtem Code) sicher einiges mehr an Instructions durchlaufen muss.

        Glaubst Du wirklich, daß da ein XML-Parser im Spiel ist?
        Das wird doch eher durch den ganz normalen HTML-Parser gejagt - die Unterschiede sind doch ziemlich unerheblich...

        Und selbst wenn tatsächlich ein XML-Parser genutzt wird - wo soll der so viel Zeit sparen, daß es sich bemerkbar macht (vorausgesetzt, daß alle optionalen Tags gesetzt sind)?
        Aufwendiger wird es ja nur, wenn tags "fehlen", da dann beim Auftauchen eines öffnenden Tags überprüft werden muß, ob das vorher geöffnete Element dadurch implizit geschlossen werden muß...

        cu,
        Andreas

        --
        Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
        http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
        1. Hallo Andreas,

          Glaubst Du wirklich, daß da ein XML-Parser im Spiel ist?
          Das wird doch eher durch den ganz normalen HTML-Parser gejagt - die Unterschiede sind doch ziemlich unerheblich...

          Beim IE wird soweit ich weiss (zumindest ab 5.5) für XML die msxmlXX.dll verwendet.

          Die Unterschiede sind auch gar nicht so unerheblich. Es kommt ja noch ein DTD dazu gegen welches validiert wird oder ggf. ein XML-Schema, evt. wird auch noch ein XSLT-File zur Transformation verwendet,... . XML ist schon nochmal einiges mehr als HTML aber der eigentliche Parser ist deutlich einfacher gebaut.

          Ich werde mich aber auf jeden Fall im weiteren Vorgehen auf Deine Tipps mit der colgroup,... konzentrieren.

          Ciao
          Thomas Grötzner

          1. Hallo,

            Beim IE wird soweit ich weiss (zumindest ab 5.5) für XML die msxmlXX.dll verwendet.

            Ja, für XML. Aber du sprachst über XHTML.

            Die Unterschiede sind auch gar nicht so unerheblich. Es kommt ja noch ein DTD dazu gegen welches validiert wird oder ggf. ein XML-Schema, evt. wird auch noch ein XSLT-File zur Transformation verwendet,... . XML ist schon nochmal einiges mehr als HTML aber der eigentliche Parser ist deutlich einfacher gebaut.

            Alles richtig, beim XML, aber nicht bem XHTML.

            Grüße
            Thomas