2016-11-10 745 views
5

任何人都可以幫助我弄清楚如何更改傳遞給未來包中某個項目的全局對象的最大大小?如何調整R中的future.global.maxSize?

以下示範我的觀點

library(future) 
a = 1:200000000 
object.size(a) 
test %<-% head(a) 

我收到以下錯誤無用例如:

Error in getGlobalsAndPackages(expr, envir = envir, persistent = persistent, : The total size of all global objects that need to be exported for the future expression (‘head(a)’) is 762.95 MiB. This exceeds the maximum allowed size of 500.00 MiB (option 'future.global.maxSize'). There are two globals: ‘a’ (762.94 MiB of class ‘numeric’) and ‘head’ (10.05 KiB of class ‘function’).

誰能幫助我瞭解如何來調整future.global.maxSize選項?我試過options(future.global.maxSize = 1500000)但這沒有奏效。

回答

5

想通了,學會了如何編輯任何軟件包的選項。

這是我用的線:

options(future.globals.maxSize= 891289600) 

如果你想自定義你的極限,我的包源看到的極限計算,這是你將如何計算大小爲850MB限制:

850*1024^2 = 891289600 

謝謝!

+1

未來作者:這是正確的;使用選項'future.globals.maxSize'(複數) - 錯誤消息中存在拼寫錯誤。這已經爲下一個版本(將來> 1.2.0)固定,參見。 https://github.com/HenrikBengtsson/future/issues/116 – HenrikB

+0

太棒了!感謝您添加註釋並感謝您的出色包裝。 –