Per impostazione predefinita (senza .combine), foreach /% dopar% restituisce risultati in un elenco. L'ordine dei risultati nell'elenco è garantito per corrispondere all'ordine del ciclo/iterazione? In altre parole, l'ordine sarà lo stesso di quando si esegue l'iterazione sequenziale? O l'elenco viene popolato quando viene completata un'attività parallela? Navigando nella documentazione, vedo che c'è un parametro .inorder, ma sembra che si applichi solo quando si utilizza una funzione .combine.foreach% dopar% - garanzia dell'ordine dei risultati?
14
A
risposta
21
Al termine della chiamata, il risultato di foreach
sarà nello stesso ordine di un ciclo "normale". Tuttavia, non vi è alcuna garanzia per l'ordine in cui "arrivano": in teoria (e parallelizzando, anche nella pratica), il primo elemento potrebbe essere compilato più tardi del secondo.
Quindi non si ha alcuna garanzia sull'ordine di esecuzione (ad esempio, le barre di avanzamento o la registrazione possono essere acciottolate), ma si può essere certi che i risultati saranno nell'ordine in cui li si aspetta.
Problemi correlati
- 1. foreach% dopar% utilizza l'installazione sequenziale dell'operatore con il cluster PSock?
- 2. python random.setstate(), seed() - esiste garanzia degli stessi risultati nelle implementazioni?
- 3. come utilizzare% dopar% quando solo importazione foreach in DESCRIPTION di un pacchetto
- 4. Espressione Linq e foreach producono risultati diversi
- 5. ciclo foreach vs ciclo while risultati
- 6. forte garanzia eccezione VS garanzia eccezione di base
- 7. outptut due oggetti utilizzando foreach
- 8. php foreach: metti ognuno dei risultati del loop in una variabile
- 9. LINQ vs foreach vs per i risultati dei test delle prestazioni
- 10. Impaginazione casuale dei risultati
- 11. SQLite angolare/ionico e asincrono - garanzia dell'inizializzazione dei dati dei dati prima della restituzione
- 12. R foreach con .combine = rbindlist
- 13. Parallelizzazione in R:% dopar% vs% do%. Perché utilizzare un rendimento single core per prestazioni migliori?
- 14. jmeter - ascolta l'interpretazione dei risultati
- 15. Comportamento dei risultati summing! Is.na()
- 16. Risultati cache java dei metodi
- 17. Raggruppamento dei risultati in Select2
- 18. Stampa immediata dei risultati (php)
- 19. Doctrine MongoDB cache dei risultati
- 20. paralleli foreach loop producono errori mclapply
- 21. VS2012 Rendere i risultati dei test vengono visualizzati nella finestra dei risultati del test
- 22. Utilizzo di source() all'interno di cicli foreach paralleli
- 23. differenti risultati tra dei rendimenti e LINQ Select
- 24. Laravel Eloquent: come ordinare i risultati dei modelli correlati?
- 25. "[] .forEach"
- 26. Risoluzione dei problemi "impossibile creare attività o digitare foreach" quando si utilizza <foreach>
- 27. foreach vs ForEach utilizzando yield
- 28. Utilizzo di fread con foreach e doParallel in R
- 29. ORDER BY a seconda dei risultati dei parametri per errore
- 30. L'ordine degli attributi ha qualche garanzia?
Nick - grazie! Ho apprezzato la distinzione tra ordine di esecuzione e ordine dei risultati – SFun28