作者locka (locka)
看板R_Language
标题[问题] 把物件存成.RData会比较快吗?(shinyapp)
时间Thu Mar 14 22:06:52 2019
[问题类型]:
意见调查(我对R 有个很棒的想法,想问问大家的意见)
效能谘询(我想让R 跑更快)
[软体熟悉度]:
使用者(已经有用R 做过不少作品)
[问题叙述]:
各位版友好,想请问大家开发 shinyapp 的时候会先把资料存成 .RData 再读取吗?
例如读取外部档案:
原本是在 runApp() 的时候执行 data <- read.csv("xxx.csv")
改成先用 save(data, file="data.RData") 存成 .RData
这样 runApp() 的时候直接执行 load("data.RData")
又或者, 我有些物件是用 lapply 函数做成的
一样先存成 .RData 执行 app 的时候直接 load
这样就不用每次执行程式都要跑一次 lapply 函数
理论上这样应该会比较快...吗?
更明确的说,当部属到 shinyapps.io 上的时候,这样会不会比较快
不晓得有没有高手可以指点一下,或是分享自己的经验。
谢谢!
[关键字]:
shiny, shinyapps.io, RData
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.224.193.22
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1552572414.A.F20.html
1F:→ celestialgod: 我觉得就depends on哪个读取快耶 03/14 22:33
2F:推 cywhale: 可以直接测看看时间啊,如果运算很复杂当然load RData快 03/14 22:44
3F:→ locka: 请问有什麽方法可以协助我判断读取时间吗?好像不能单从档 03/14 22:48
4F:→ locka: 案大小来看,我不太晓得shiny读取外部档案跟执行函式有没有 03/14 22:48
5F:→ locka: 用什麽可能会是瓶颈的方式,比方说如果读取外部.RData是用s 03/14 22:48
6F:→ locka: treaming的方式读取,那一定就会很慢吧…可是又觉得执行函 03/14 22:48
7F:→ locka: 式要多做计算很浪费资源…不如事先算好再读取就好…抱歉, 03/14 22:48
8F:→ locka: 回覆的有点乱 03/14 22:48
9F:推 cywhale: 如涉传输就难说了,我都在自架server,not shinyapps.io 03/14 23:12
10F:→ locka: 即便是自架server,run的时候也是要传输不是吗? 03/14 23:19
11F:→ celestialgod: 写在global.R 就会只要读一次 03/14 23:35
12F:→ celestialgod: 不就好了吗? 03/14 23:35
13F:→ locka: 不管是 lapply(), read.csv() 还是 load() 都是写在 global 03/14 23:43
14F:→ locka: .R 里喔,我只是在思考前两者的速度跟後者的速度谁快谁慢? 03/14 23:43
15F:→ locka: ? 03/14 23:43
16F:→ celestialgod: 那应该是feather最快 03/15 01:18
17F:推 jack155861: Feather 比 csv txt rdata SQLite 快 03/17 20:48
18F:→ locka: 感谢两位分享,第一次听到 feather 来研究看看! 03/17 22:42
19F:推 cywhale: 如果可以接受binary格式,feather, fst都可试看看 03/18 22:28