Ich habe einen großen Tisch mit fast 5000 Reihen. Ich verwende das folgende jquery-Snippet, um diese Tabelle nach einem bestimmten Text zu durchsuchen.
%Vor% Nun benötigt dieses Skript einige Zeit, um ausgeführt zu werden, da es jede Zelle jeder Zeile durchläuft. Betrachtet man die Tabelle mit 6 Zellen hintereinander, ist die Gesamtzahl der Iterationen fast 6 * 5000 = 30000 !
Gibt es einen Vorschlag zur Optimierung dieses Snippets?
Sie könnten auch eine benutzerdefinierte Erweiterung wie:
erstellen %Vor%Und benutze es so:
%Vor%Hier ist ein laufendes Beispiel: Ссылка
Ich habe einen großen Tisch mit fast 5000 Reihen. Ich verwende das folgende jquery-Snippet, um diese Tabelle nach einem bestimmten Text zu durchsuchen.
%Vor% Nun benötigt dieses Skript einige Zeit, um ausgeführt zu werden, da es jede Zelle jeder Zeile durchläuft. Betrachtet man die Tabelle mit 6 Zellen hintereinander, ist die Gesamtzahl der Iterationen fast 6 * 5000 = 30000 !
Gibt es einen Vorschlag zur Optimierung dieses Snippets?
Überprüfe die Leistung der folgenden Codes mit deiner:
Code: (ausgenommen jquery.js)
%Vor%Zunächst möchte ich darauf hinweisen, dass das Durchsuchen von 5000 Zeilen nicht so schwer sein sollte. Ich würde auch in andere Sachen schauen, die gleichzeitig laufen, die einen Einfluss auf die Leistung haben könnten.
Ich garantiere Ihnen auch nicht, dass die untenstehende Lösung die optimale ist, aber von den Tests, die ich durchgeführt habe, kann ich eine Steigerung der Geschwindigkeit um etwa 50% sehen. Ich bin immer noch dabei, diesen Code zu optimieren, ich werde dies weiter aktualisieren, während ich weitermache. Ich plane auch, in ein oder zwei Tagen selbstsichere Tests von jspref durchzuführen.
Mein Ansatz
jQuerys %code% verwendet Javascript %code% unter der Haube. Wenn Sie es direkt verwenden können, wird es eine Leistungssteigerung haben.
%Vor%Hier ist ein funktionierendes jsFiddle
Überprüfe die Leistung der folgenden Codes mit deiner:
Code: (ausgenommen jquery.js)
%Vor%Zunächst möchte ich darauf hinweisen, dass das Durchsuchen von 5000 Zeilen nicht so schwer sein sollte. Ich würde auch in andere Sachen schauen, die gleichzeitig laufen, die einen Einfluss auf die Leistung haben könnten.
Ich garantiere Ihnen auch nicht, dass die untenstehende Lösung die optimale ist, aber von den Tests, die ich durchgeführt habe, kann ich eine Steigerung der Geschwindigkeit um etwa 50% sehen. Ich bin immer noch dabei, diesen Code zu optimieren, ich werde dies weiter aktualisieren, während ich weitermache. Ich plane auch, in ein oder zwei Tagen selbstsichere Tests von jspref durchzuführen.
Mein Ansatz
for
ist schneller als jQuerys $(object).each();
jQuerys .html()
verwendet Javascript innerHTML
unter der Haube. Wenn Sie es direkt verwenden können, wird es eine Leistungssteigerung haben.
Hier ist ein funktionierendes jsFiddle
Tags und Links jquery