我正在努力提高我正在使用的代碼的速度,對於我目前正在使用的項目而言,它是一步一步來的。該項目目前需要初始化10M-1B行和24列之間的任何數據幀以啓動項目。前8列是字符串,接下來的16列是整數,所以它必須是一個數據幀,而不是矩陣,因爲字符串。R - 儘可能快地初始化數據幀
目前我有:
starttime = Sys.time()
total_num_lineups = 100000000
lineup = as.data.frame(matrix(nrow = total_num_lineups, ncol = 24))
Sys.time() - starttime
# Time difference of 44.70181 secs
這大約需要45秒100M行。這個項目可以很好地擴展到1B行,這是我嘗試解決的第一個瓶頸。任何想法如何加快這一步將不勝感激。
extra - 如果需要,我可以提供關於該項目的其他信息,但認爲通過問題聚焦問題可能會更好。如果速度更快,我願意將容器切換到數據表或其他結構。
謝謝!
你是如何得到這個運行的?我得到了'錯誤:無法分配大小爲8.9 Gb的矢量' –
Rich,我認爲這是一個內存問題。處理內存中的對象可以推動特定系統可以處理的限制。上面的代碼我的機器沒有問題。 – jrdnmdhl
你是積極的這一步是必需的? – rawr