Kiedy ustawienie „perl = TRUE” w „strsplit” nie działa (zgodnie z przeznaczeniem lub w ogóle)?

Właśnie przeprowadziłem testy porównawcze, próbując zoptymalizować jakiś kod i zaobserwować tostrsplit zperl=TRUE jestszybciej niż bieganiestrsplit zperl=FALSE. Na przykład,

set.seed(1)
ff <- function() paste(sample(10), collapse= " ")
xx <- replicate(1e5, ff())

system.time(t1 <- strsplit(xx, "[ ]"))
#  user  system elapsed 
# 1.246   0.002   1.268 

system.time(t2 <- strsplit(xx, "[ ]", perl=TRUE))
#  user  system elapsed 
# 0.389   0.001   0.392 

identical(t1, t2) 
# [1] TRUE

Moje pytanie (a raczej odmiana pytania w tytule) brzmi: w jakich okolicznościach absolutnie potrzebnaperl=FALSE (pomijającfixed iuseBytes parametry)? Innymi słowy, czego nie możemy zrobić używającperl=TRUE można to zrobić, ustawiającperl=FALSE?

questionAnswers(1)

yourAnswerToTheQuestion