Если я определяю функцию в R, я могу сохранить объект функции, используя функцию сохранения. Затем я могу загрузить этот объект функции с помощью функции загрузки и использовать его напрямую. Однако, если у меня есть функция rcpp, и если я попытаюсь сохранить скомпилированную версию и загрузить ее обратно в память, я больше не могу использовать этот объект функции напрямую. Возможно ли это? Причина, о которой я прошу, заключается в том, что для компиляции функции требуется некоторое время, и если есть способ избежать этой стоимости при каждом запуске среды R, это будет здорово. Благодарю!
Rcpp: Сохранить скомпилированную функцию как Robj
Ответ 1
Нет, в общем случае вы не можете сериализовать (и, следовательно, сохранить) функцию, скомпилированную с помощью cxxfunction()
или sourceCpp()
. Вам нужно только что скомпилировать его, если вы не разместите его в пакете. Вот почему пакеты - это способ, чтобы действительно установить ваш скомпилированный код за пределы быстрого экспериментирования.