¿Cuándo el ajuste 'perl = VERDADERO' en 'strsplit' no funciona (como se pretende o en absoluto)?
Acabo de hacer un análisis comparativo al intentar optimizar un código y observé questrsplit
conperl=TRUE
esMás rápido que correrstrsplit
conperl=FALSE
. Por ejemplo,
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
Así que mi pregunta (o más bien una variación de la pregunta en el título) es, ¿en qué circunstancias sería absolutamente necesario?perl=FALSE
(dejando fuera elfixed
yuseBytes
parámetros)? En otras palabras, ¿qué no podemos hacer usandoperl=TRUE
que se puede hacer mediante la configuraciónperl=FALSE
?