Ich habe versucht, eine Antwort zu finden, und ich habe verwandte Frage gefunden, und während sie meine Ergebnisse bestätigen (that one multiple selector call is slower than multiple single selector calls) keiner von mir sagen, warum.Multiple Selector vs Single Selector Leistung
im Grunde, wenn Sie diesen Code ausführen:
$("#one, #two").hide();
$("#one, #two").show();
Vor diesem Code:
$("#one").hide();
$("#two").hide();
$("#one").show();
$("#two").show();
Dann wird dieser um etwa 50% schneller sein.
Sobald wir jedoch einen dritten Selektor hinzufügen, ist der Leistungsunterschied um 39% schneller.
Vierter Selektorunterschied: 26% schneller.
Fünftens: 30% schneller.
Sechstens: 31% schneller.
Zehn: 31% schneller.
(Sie diese Werte beachten Sie scheinen über eine Marge von 5% auf einen Bereich in)
So bekommen wir etwas, das wie folgt aussieht:
Die Leistung scheint rund 6 Selektoren ein Plateau zu erreichen. Es scheint nie "schneller" zu sein, als 31% langsamer zu sein als jedes einzelne mit einem einzigen Anruf. Warum ist das?
Persönlich liebe ich die Verwendung mehrerer Selektoren pro Aufruf, aber es scheint eine (relativ) große Leistung zu haben. Wann wäre dies (nicht) angemessen zu verwenden?
Interessant. Ich hatte immer angenommen, der erste Fall (mehrere) wäre schneller. Was ist mit Klassenselektoren, ähnliche Leistung? –
Das war auch meine Annahme, also war ich überrascht. Ich habe Klassenselektoren nicht überprüft, aber es lohnt sich, etwas genauer zu betrachten. Ich werde später ein paar Tests machen. – Johannes
Ich bin nicht sicher über * relativ groß *. 50% schneller wird nicht viel im großen Bild bedeuten, wenn der Referenzcode bereits unter einer Mikrosekunde läuft. –