Ich habe gerade ein Benchmarking durchgeführt, während ich versucht habe, Code zu optimieren, und festgestellt, dass strsplit
mit perl=TRUE
schneller ist als% strsplit
mit perl=FALSE
. Zum Beispiel
Also meine Frage (oder eher eine Variation der Frage im Titel) ist, unter welchen Umständen wäre absolut perl=FALSE
(ohne die Parameter fixed
und useBytes
)? Mit anderen Worten: Was können wir nicht mit perl=TRUE
tun, indem Sie perl=FALSE
?
aus der Dokumentation;)
Leistungsaspekte
Wenn Sie viele Übereinstimmungen mit regulären Ausdrücken vornehmen, auch bei sehr langen Strings, sollten Sie die verwendeten Optionen berücksichtigen. Im Allgemeinen ist PCRE schneller als die Standardmaschine für reguläre Ausdrücke, und fixed = immer noch schneller (besonders wenn jedes Muster nur ein paar Mal übereinstimmt).
Dies beantwortet natürlich nicht die Frage "Gibt es irgendwelche Gefahren, immer perl=TRUE
zu verwenden"