Include simple .progress switch in future_lapply
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- r
- Ambito
- distributed-systems
Direzione di ricerca
Inizia leggendo l’entry point future_lapply e l’esempio fornito future_lapply_progress, quindi segui come la segnalazione di progressr potrebbe integrarsi nelle funzioni apply esistenti. Il lavoro è completato quando è disponibile un semplice interruttore .progress per future_lapply e il suo comportamento è coperto dai test pertinenti del progetto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Both purrr and furrr's map* functions have a .progress switch to enable a progress bar. It would be very convenient to also have it available, e.g. in future_lapply.
Here is a quick implementation of a .progress switch which uses a CLI-based progress bar, that is also in use in purrr and that also seems to be favoured by furrr:
library("future")
library("future.apply")
library("progressr")
f <- function(x){
Sys.sleep(.01)
x
}
future_lapply_progress <- function(X, FUN, ..., .progress = FALSE){
handlers("cli")
if(.progress == TRUE){
with_progress({
nX <- length(X)
p <- progressor(nX)
FUN_progress <- function(X, ...) {
res <- FUN(X, ...)
p()
res
}
future_lapply(X, FUN_progress, ...)
})
} else {
future_lapply(X, FUN, ...)
}
}
res <- future_lapply_progress(1:100, f, .progress = F)
res <- future_lapply_progress(1:100, f, .progress = T)
I know about futureverses "back-end/ront-end" design philisophy to separate progress signaling from displaying progress. However, if one quickly wants to parallelize some lapply-type code in RStudio, having a simple .progress switch is more convenient than having to set up the progressor, including it in the function to be parallelized, wrapping it in a with_progress() and remembering/researching how these three pieces fit together. Also, this implementation would possibly serve as a template to update the furrr's .progress implementation to using the CLI package.
- Lingua principale
- R
- Stelle
- 219
- Fork
- 20
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di futureverse/future.apply
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
futureverse/future.apply#129 · 2 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 40/100
futureverse/future.apply#128 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
futureverse/future.apply#112 · 3 commenti ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
futureverse/future.apply#108 · 3 commenti ·
-
feature request
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
futureverse/future.apply#101 · 4 commenti ·
Tutte le issue di futureverse/future.apply
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
cran-task-views/Survival#76 ·
-
Package proposal: EDIAperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
cran-task-views/Agriculture#146 ·
-
Package proposal: EDIAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
datacarpentry/semester-biology#1290 ·
I maintainer di solito rispondono entro 1 giorno