2016-11-10 30 views
5

Czy ktoś może mi pomóc dowiedzieć się, jak zmienić maksymalny rozmiar obiektów globalnych przekazanych do elementu w przyszłym pakiecie?jak dostosować future.global.maxSize w R?

Oto bezużyteczny przykład, który pokazuje mój punkt

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

pojawia się następujący błąd:

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’).

Czy ktoś może mi pomóc zrozumieć, w jaki sposób ustawić tę opcję future.global.maxSize? Próbowałem options(future.global.maxSize = 1500000), ale to nie zadziałało.

Odpowiedz

5

Wyjaśnij i dowiedz się, jak edytować opcje dla każdej paczki.

Jest to linia, która kiedyś:

options(future.globals.maxSize= 891289600) 

Jeśli chcesz dostosować swój limit, widziałem w źródle pakietu że granica została obliczona i to w jaki sposób obliczyć wielkość za 850mb limit:

850*1024^2 = 891289600 

Dzięki!

+1

Autor przyszłości tutaj: To jest poprawne; użyj opcji 'future.globals.maxSize' (liczba mnoga) - w komunikacie o błędzie pojawiło się literówka. Zostało to naprawione w następnym wydaniu (przyszłość> 1.2.0), zob. https://github.com/HenrikBengtsson/future/issues/116 – HenrikB

+0

Awesome! Dziękuję za dodanie notatki i dziękuję za świetny pakiet. –