Wie test-CSS-Selektor-Leistung?
Wie würde ich mich zum testen der performance-benchmarks von verschiedenen css-Selektoren? Ich habe gelesen, Artikel wie diese. Aber ich weiß nicht, ob es anwendbar ist auf meiner website, weil er eine test-Seite mit 20000 Klassen und 60000 DOM-Elemente.
Sollte ich mich auch kümmern,tut der Leistung wirklich herabgestuft, die viel auf der Grundlage der css-Strategie, die Sie nehmen?
Fo Beispiel, wie ich das zu tun ...
.navbar { background:gray; }
.navbar > li { display:inline;background:#ffffff; }
<ul class="navbar">
<li>Menu 1</li>
<li>Menu 2</li>
<li>Menu 3</li>
</ul>
... aber ich könnte dies tun ...
.navbar { background:gray; }
.navbar-item { display:inline;background:#ffffff; }
<ul class="navbar">
<li class="navbar-item">Menu 1</li>
<li class="navbar-item">Menu 2</li>
<li class="navbar-item">Menu 3</li>
</ul>
Manche würden sagen (und zwar richtig), dass die zweite option wäre schneller.
Aber wenn Sie multiplizieren die zweite Methode auf allen Seiten sehe ich folgende Nachteile:
- Die Seite, die Größe zu erhöhen, da alle Elemente mit den Klassen
- Anzahl der css-Klassen Recht groß, die erfordern weitere css-Klasse Parsen
Meine Seiten scheinen auf ~ 8 KB mit ~1000 DOM-Elemente.
Also meine eigentliche Frage ist, wie erstelle ich ein test-Bett, wo ich testen könnte performance-deltas basierend auf der Strategie ergriffen, um realistische web-Seite Größen? Wie genau weiß ich, wie lange es dauert, bis eine Seite angezeigt werden? javascript? wie genau?
Helfen und einfach nur Meinungen sind willkommen!
- Werfen Sie einen Blick auf die Google Page Speed addon für Firefox/Firebug - code.google.com/speed/page-speed
- nicht eine anständige Antwort, aber vielleicht aufschlussreich: developer.mozilla.org/en/Writing_Efficient_CSS ich habe nur einfach gelernt, was ein tag-Eimer ist ein paar Wochen her, aber es klingt nützlich, um die Leistung.
- Wollte nur hinzufügen, dass Google eine Seite erstellt, die bekräftigt, einige der Punkte von der Mozilla-Seite Stephan verknüpft. developers.google.com/speed/docs/best-practices/rendering
- 8KB ist weit von sein eine große Größe. Bootstrap ist 10X so groß.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Check-out die Page Speed - Erweiterung für Firefox. Sobald Sie führen Sie es für die eine Seite, unter "Use efficient CSS selectors" es gibt Ihnen eine Liste der betreffenden CSS-Selektoren zusammen mit kurzen Erläuterungen.
Außerdem gibt es eine weitere Erweiterung für den Chrome - Speed Tracer. Unter anderem bietet es Einblick in die Zeit, die auf dem CSS-style-Neuberechnung und-Selektor entsprechen. Dies kann nur sein, was Sie suchen.
Aus der Lektüre der Artikel, die Sie aufgelistet, es sieht aus wie der Unterschied zwischen den zwei Arten von Selektoren ist nicht Wert, sich Gedanken über. Stellen Sie sicher, das css ist klar genug, um zu verstehen, und sorgen sich nur um die Geschwindigkeit nach, der zeigt, dass der Engpass.
es gibt wirklich keine Notwendigkeit zu tun
Menü 1
können Sie eine css-Klasse
navbar li
daran zu erinnern, dass externe css-Dateien minified und Cache in der Erwägung, dass die html nicht kann. Performance ist auch ein relativer Begriff: haben Sie Häufig Besuch? Ist das Netzwerk langsam? sind Sie Angestellte des Staates, die mit antiken Computern mit IE6?
Ich keine direkte Antwort auf deine Frage, wie man einen page speed Test-Programm. Allerdings werde ich Ihnen einige best-practice-Richtlinien zu Folgen, die Steuern Sie in die richtige Richtung.
In der Größe um zahlreiche Klassen ist sehr viel vernachlässigbar zwei Gründe:
1) Die zusätzliche Größe in Ihrem stylesheet wird zwischengespeichert werden (vorausgesetzt, Sie verwenden äußerlichkeiten, die Sie sollten).
2) Das HTML-markup hinzufügen zahlreiche Klassen der DOM ist 1 Kb groß bei den meisten. Wenn es mehr ist, als Sie brauchen, um eine bessere Vorteil der Vererbung.
Haben Sie mehr CSS-Klassen, ja... aber verbindliche Regeln, um eine CSS-Klasse ist tatsächlich schneller als die alternative mit Nachkommen oder benachbarte Selektoren.
So lange, wie Sie vermeiden, Nachkomme/benachbarte Selektoren so viel wie vernünftigerweise möglich ist, verwenden Sie externe stylesheets, und nutzen Sie die Vorteile der Vererbung zu verringern, doppelte Regeln, sollten Sie nicht brauchen, um sorgen über die CSS-performance-stress-tests.