Muster leistungsverzeichnis word

Browser-Unterstützung? Wie oben erwähnt, ist es weithin unterstützt und der Fallback ist sowieso das Netzwerk. Hilft es, die Leistung zu steigern? Oh ja, das tut es. Und es wird immer besser, z. B. mit Background Fetch, das Hintergrund-Uploads/Downloads von einem Service-Worker ermöglicht. Basierend auf den Daten in diesem Benchmark führen nur rg und GNU grep diese Optimierung durch. Weder ag noch ucg versuchen, irgendwelche inneren Literale aus dem Muster zu extrahieren, und es sieht so aus, als ob PCRE nicht versucht, etwas zu schlau zu tun. (Natürlich ist Rusts Regex-Bibliothek auch nicht, diese Optimierung wird in rg richtig durchgeführt.) Auf der anderen Seite wird sie bift die -i-Flagge bemerken und eine andere Route nehmen. siesiet wird sowohl das Muster als auch jeden Byteblock, den es durchsucht, klein groß. Dieser Filter über alle gesuchten Bytes ist wahrscheinlich die Ursache für den Leistungsabfall von Sieb, der vom vorherigen linux_literal Benchmark abfällt.

(Es ist erwähnenswert, dass diese Optimierung tatsächlich falsch ist, da sie nur asCII-Fallunempfindlichkeit berücksichtigt, und nicht für die vollständige Unempfindlichkeit von Unicode-Fällen, die pt durch virture von Gos regexp-Engine erhält.) sieift und pt sind die einzigen Werkzeuge, die in dieser Benchmark im Vergleich zu früheren Benchmarks deutlich langsamer werden. Der Grund dafür ist derselbe wie der Grund, warum pt in der linux_literal_casei Benchmark deutlich langsamer wurde: sowohl pt als auch siebsind nun auch in der regexp-Bibliothek von Go. pt und siebkönnte hier etwas besser machen, indem sie sich aus Gos regexp-Bibliothek heraushalten und nach dem PM_RESUME wörtlich suchen und dann nur bestätigen, ob die Übereinstimmung einer Wortgrenze entspricht, nachdem sie einen Treffer für PM_RESUME gefunden hat. Dies könnte immer noch Gos regexp-Bibliothek verwenden, aber in einer viel eingeschränkteren Form. Es ist jedoch auch eine gute Idee zu untersuchen, welche Erweiterungen Ihre Kunden häufig verwenden, und auch mit einem dedizierten “Kunden”-Profil zu testen. Tatsächlich können einige Erweiterungen tiefgreifende Auswirkungen auf die Leistung (Studie) auf Ihre Anwendung haben, und wenn Ihre Benutzer sie viel verwenden, sollten Sie dies im Voraus berücksichtigen. “Saubere” Profilergebnisse allein sind zu optimistisch und können in realen Szenarien zerkleinert werden. Zuallererst haben die Variablen (ignore) vs. (whitelist) einen deutlichen Einfluss auf die Leistung von rg.

Wir werden nicht alle Details aus der Analyse in linux_literal_default rehash, aber das Wechseln von rg in seinen Whitelist-Modus bringt es in eine tote Hitze mit ucg.