nam: Javascript Performanz in Opera

Beitrag lesen

Hi

also deine Zahlen kann ich Bestätigen. Also Ursache kannst du diese Zeile ansehen:
patterns[key]=value;

Tatsächlich! Ich hatte isFinite(c) im Verdacht. Ein Microbench zeigt, dass die Zuweisung einer neuen Property in Opera ziemlich viel Zeit braucht.

  
var i=13000; //so viele Muster muss ich etwa verarbeiten  
var c={};  
var start=new Date().getTime();  
do {  
 c[i]=i;  
} while (i--);  
var end=new Date().getTime();  
document.write(c+'\r'+(end-start));  

Der Rest des Scriptes läuft (zumindest bei mir) in ca 400 ms durch wenn man diese Zeile entfernt.

Auch wenn ich die Zeile auskommentiere, läuft das Script immer noch viel zu langsam in Opera.
Gibt es einen Debugger/Benchmarker für Opera so wie Venkman für Firefox?

»»Nun eine Lösung habe ich direkt nicht zur Hand, ich würde aber in diesen Fall versuchen patterns[] anders zu speichern. Vielleicht als ein Mehrdimensionaler Array.
Das geht nicht. Ich muss später extrem schnell drauf zugreifen können und da ist die Hash-Tabelle des Object() genau richtig.

Danke und Gruss,
Mathias