Изменения

R:Оптимизация/Компиляция в байт-код

934 байта добавлено, 10:15, 4 мая 2014
м
Компиляция функций и выражений
{{r-code|code=<nowiki>> la1c <- cmpfun(la1)
> la2c <- cmpfun(la2)
> lapplyc <- compfuncmpfun(lapply)</nowiki>}} Сравним производительность этих функций: {{r-code|code=<nowiki>> microbenchmark(lapply(x, is.null), la1(x, is.null), la2(x, is.null),+ lapplyc(x, is.null), la1c(x, is.null), la2c(x, is.null))Unit: microseconds expr min lq median uq max neval lapply(x, is.null) 174.1 181.2 196.4 229.5 946 100 la1(x, is.null) 786.0 816.2 838.6 985.6 1812 100 la2(x, is.null) 967.6 996.9 1085.8 1359.9 2417 100 lapplyc(x, is.null) 173.4 181.1 196.8 214.7 333 100 la1c(x, is.null) 392.0 409.8 433.8 502.3 1400 100 la2c(x, is.null) 403.6 415.6 439.7 532.1 1361 100</nowiki>}} Обращается на себя внимание, что скомпилированная версия функции <code>lapply()</code> не превосходит по производительности оригинальную версию.
== Компиляция скриптов ==