JavaScript: Rennt nicht immer

Für einen Kunden habe ich erstmalig im größeren Stil mit einer an sich netten kleinen JavaScript-Bibliothek gearbeitet: mktree. Überhaupt sind die meisten der Bibliotheken von Matt Kruses JavaScript Toolbox sehr brauchbar: Sauber programmiert, leicht einsetzbar, kein Bloat.

Im konkreten Fall ging es um die baumartige Darstellung von Kategoriestrukturen. Bei den Tests lief alles wirklich prima, aber kaum war die Funktion freigeschaltet, meldete sich eine Anwenderin: Bei ihr bräuchte die überarbeitete Liste nun zwei Minuten zur Anzeige.

Einige Messungen später hatte sich herausgestellt: Der Server war schon nach zwei Sekunden fertig, aber der Browser, besser gesagt: JavaScript, hatte dann doch einiges zu tun: Mit dem Rendering von 1.600 Kategorien (jawohl!).

Es blieb für’s erste nichts anderes übrig, als derart große Kategoriesammlungen als starre, nicht auf- und zuklappbare Baumstruktur darzustellen. Funktioniert ja genauso gut, sieht nur nicht ganz so elegant aus. Dennoch schade, wo ich doch gerade erst mitgeteilt bekam, dass JavaScript so sauschnell sei … ;-)

Tags: ,

Eine Antwort zu “JavaScript: Rennt nicht immer”

  1. Christian sagt:

    JS ist recht schnell, leider kommt es hier auf den Interpretierenden Browser und seine JS-Engine an. Google hat hier mit http://code.google.com/p/v8/ (V8-JS-Engine) einiges optimiert in ihrem Crome Browser (Nutze ich nicht aber ein bekannter)

    Zum vergleich Opera 11.62 Build: 1347 auf einem Win7 x64 mit AMDx6:

    Score: 4231
    Richards: 3809
    DeltaBlue: 3022
    Crypto: 5230
    RayTrace: 5432
    EarleyBoyer: 5719
    RegExp: 1420
    Splay: 8165
    NavierStokes: 4735

    Der IE 9.0.5 oder 9.0.8 x64 ka welche Version nun richtig ist komische Angabe von Winzigweich:
    Score: 546
    Richards: 299
    DeltaBlue: 303
    Crypto: 444
    RayTrace: 542
    EarleyBoyer: 944
    RegExp: 1374
    Splay: 1075
    NavierStokes: 259

    Und Crome ist noch mal ne ganze Nummer Schneller als Opera, von daher kann man schon komplexe und viele Elemente in JS nutzen, man sollte es aber mit einer Browser weiche versehen, so das nich zufällig der IE futter bekommt welches ihm Magengeschwüre verursacht XD

    Benutzer JS-Benchmark von der V8 Engine: http://v8.googlecode.com/svn/data/benchmarks/v7/run.html


Impressum