Изменения

R:Профилирование кода

252 байта добавлено, 13:54, 28 января 2014
м
Функция proftable()
== Функция proftable() ==
Рассмотрим ещё один способ представления результатов профилирования --- функция {{Inline-code|proftable()|lang="rsplus"}}, написанная Noam Ross. Для импорта Исходный код данной файла скрипта нам понадобятся пакеты {{Inline-code|devtools|lang="rsplus"}} функции доступен под лицензией GNU GPL v2 и {{Inline-code|digest|lang="rsplus"}}, тразмещён в открытом доступе на [https://github.кcom/ github] по адресу https://github. штатная функция com/noamross/noamtools/blob/master/R/proftable.R. Мы немного переработали данную функцию, удалив зависимость от пакета {{Inline-code|source()plyr|lang="rsplus"}} не поддерживает протокол httpsи существенно ускорив её. Код модифицированного варианта доступен на странице [[R:Proftable.R]]. Итак, импортируем Импортировать данный скрипт можно с функцией помощью функции {{Inline-code|proftablesource()|lang="rsplus"}}:
<syntaxhighlight lang="rsplus">
> librarysource(devtools)> source_url"source("httpshttp://rawpsylab.githubinfo/index.com/noamross/noamtools/master/php?title=R/proftable:Proftable.R&action=raw")
</syntaxhighlight>
</syntaxhighlight>
Для Результаты работы функции {{Inline-code|proftable()|lang="rsplus"}} также необходим пакет {{Inline-code|plyr|lang="rsplus"}}представлены ниже.
<syntaxhighlight lang="rsplus">
> library(plyr)
> proftable(tmp.log)
PctTime Call
0.446 1#4 > median
#File 1Files: /tmp/RtmpAvhCfO/file23b65745e7ba.R
Parent Call: source > withVisible > eval > eval > 1#11 > desc >
Total Time: 4.48 seconds
Percent of run time represented: 100 %
</syntaxhighlight>