JSON & JavaScript Speed

Was macht man wenn man clientseitig viele Daten verarbeiten möchte? Kein XML parsen, das ist total out, weil XML ja nicht native ist. Dafür gibt es jetzt JSON, die JavaScript Object Notation, die ist wie XML ohne den ganzen DTD schnickschnack und sowieso, man kann es einfach eval’en. Das geht dann auch für 3943 Einträge ala Autor, Titel, Ausgabe, Seiten. Damit man jetzt nicht seine ganzen XML Daten (oder sonstwie mehr oder minder strukturierte Daten) von hand umwandeln muss gibt es JSON für Perl aber auch eigentlich für alles andere. Hat mich auf jeden Fall begeistert, für Sachen die im Browser laufen sollen auf jeden Fall das richtige Datenmodell und richtig schön KISSig.

Wenn man dann allerdings knapp 4000 Einträge in einem Browser laufen lässt und vor allem daraus auch noch ein volles Listing in Tabellenform macht (also 4000 <tr><td> in den DOM Baum einbaut) hat man eher einen Browser Benchmark als sonstwas (das initiale Parsen ist kaum merklich, ich nehme mal stark an das die Browser rendern und so Sachen wie JavaScript Namespace aufbauen asynchron machen). And the winner is… Opera. Ja, ich muss zugeben ich war auch etwas überrascht. Zumindest auf Linux ist es ganz klar Opera der das Ding am schnellsten Angezeigt bekommt. Danach kommt Firefox (1.5 RC1) und dann Konqueror, wenn er nicht gerade nach 5 Sekunden Meckert das ein JavaScript das Anzeigen der Seite verhindert. Mein Windows Test gestern war nicht wirklich fair, da ich das Ding auf dem alten 600 Herzer meine Ma hab laufen lassen, da kam dann der IE erst nach 5 Minuten wieder. Naja, das Suchen geht überraschend performant, es geht hier wohl sehr viel Zeit in das Rendern.

Ferner hat mir das rumgespiele mit JavaScript und DOM mal wieder gezeigt was für tolle Sachen sich doch alles clienseitig basteln lassen und das sogar ohne AJAX. Ich könnte mich jetzt hier hinstellen und das ende von Perl, Ruby und PHP als Websprache vorhersagen, aber das wäre glaube ich etwas verfrüht. Auf jeden Fall ist es für den Benutzer viel freundlicher, wenn man nicht über tausend Seiten geleitet wird nur damit die ganzen Post Queries durchkommen und es ist auf jeden Fall schneller, den Client die Sachen rechnen zu lassen.

Zusammenfassung: JSON ist cool als Datenformat, Opera ist der schnellste JavaScript Auswerter/Renderer auf Linux und weg vom Server, zurück zum Client.

3 thoughts on “JSON & JavaScript Speed

  1. Naja, Ruby on Rails gildet ja nicht wirklich in dem Vergleich, weil Ruby on Rails ja ein Framework ist, die es ja für Perl (Maypole oder Catalyst) und PHP (z.B. Drupal) auch gibt. Die Sache ist hier allerdings das die meisten alten Frameworks auf diesem Eingabe -> Verarbeiten -> Ausgabe Prinzip arbeiten und das ist halt heute nicht mehr Zeitgemäß. Was ich damit nur sagen wollte ist das man sich trotz alledem nicht dazu verleiten lassen sollte alles auf dem Server per RPC zu Machen. Man kann auch mal eben (unter 1 Sek.) 4000 Datensätze auf dem Client durchsuchen.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s