2016-11-10 1 views
5

Quelqu'un peut-il m'aider à comprendre comment changer la taille maximale des objets globaux passés à un élément dans le futur paquet?comment faire pour ajuster future.global.maxSize dans R?

Voici un exemple qui montre inutile mon point

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

Je reçois l'erreur suivante:

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

Quelqu'un peut-il me aider à comprendre comment régler cette option de future.global.maxSize? J'ai essayé options(future.global.maxSize = 1500000) mais cela n'a pas fonctionné.

Répondre

5

J'ai tout compris et j'ai appris comment modifier les options pour n'importe quel paquet.

C'est la ligne que je:

options(future.globals.maxSize= 891289600) 

Si vous souhaitez personnaliser votre limite, je vis dans la source de package que la limite a été calculé et voici comment vous devez calculer la taille d'un 850mb limite:

850*1024^2 = 891289600 

Merci!

+1

Auteur du futur ici: Ceci est correct; utilisez l'option 'future.globals.maxSize' (pluriel) - il y avait une faute de frappe dans le message d'erreur. Ceci a été corrigé pour la prochaine version (future> 1.2.0), cf. https://github.com/HenrikBengtsson/future/issues/116 – HenrikB

+0

Génial! Merci d'avoir ajouté la note et merci pour le super paquet. –