Mercurial > repos > siwaa > redelac_stics_g
diff redelacSticsInputGenerator.R @ 15:413cec4dfe5f draft
"planemo upload for repository https://forgemia.inra.fr/redelac commit e5eb5cacd8c91c5a5a8fa571e31b54d30e988733"
author | siwaa |
---|---|
date | Sat, 20 Jan 2024 09:42:29 +0000 |
parents | 812bb8097dac |
children | f2fe11a20371 |
line wrap: on
line diff
--- a/redelacSticsInputGenerator.R Tue Dec 12 10:38:20 2023 +0000 +++ b/redelacSticsInputGenerator.R Sat Jan 20 09:42:29 2024 +0000 @@ -4,6 +4,7 @@ library(parallel) library(doParallel) library(doFuture) +library(stringr) sessionInfo() @@ -77,35 +78,60 @@ if (parallel) { doFuture::registerDoFuture() - future::plan(multisession, workers = nbSlots) + + future::plan(multicore, workers = nbSlots) } beforeGenXmlTime <- Sys.time() -gen_usms_xml(file = file.path(workspace, "usms.xml"), - param_df = usms_param) +#gen_usms_xml(file = file.path(workspace, "usms.xml"), +# param_df = usms_param) + +chunckSize <- 1000 +nbUSMs <- nrow(usms_param) + +ids <- seq(1, nbUSMs, chunckSize) + +foreach (i = ids, + .options.future = list(packages = c("foreach", "SticsRFiles"))) %dofuture% { + gen_usms_xml(file = file.path(workspace, paste0("usms__", i, ".xml")), + param_df = usms_param[i:min(i + chunckSize - 1, nbUSMs),]) + } afterGenXmlTime <- Sys.time() durGenX <- lubridate::as.duration(lubridate::interval(beforeGenXmlTime, afterGenXmlTime)) + beforeGenTxtTime <- Sys.time() -gen_usms_xml2txt( - javastics = javastics_path, - workspace = workspace, - out_dir = txt_path, - usms_file = "usms.xml", - redelac = redelac, - parallel = parallel, - verbose = FALSE -) + +print("betwin") + + +foreach (i = ids, + .options.future = list(packages = c("foreach", "SticsRFiles"))) %dofuture% { + print("toto") + gen_usms_xml2txt( + javastics = javastics_path, + workspace = workspace, + out_dir = txt_path, + usms_file = paste0("usms__", i, ".xml"), + redelac = redelac, + parallel = parallel, + verbose = FALSE + ) + print("titi") + } afterGenTxtTime <- Sys.time() durGenT <- - lubridate::as.duration(lubridate::interval(beforeGenTxtTime, - afterGenTxtTime)) - + lubridate::as.duration(lubridate::interval(beforeGenTxtTime, afterGenTxtTime)) + +afterGenTxtTime <- Sys.time() +durGenT <- + lubridate::as.duration(lubridate::interval(beforeGenTxtTime, afterGenTxtTime)) + endTime <- Sys.time() dur <- @@ -116,7 +142,7 @@ print("REDELACSticsInputGenerator Report") print("=================================") print(paste("number of usms: ", nrow(usms_param))) -print(paste("redelac optimization:", redelac)) +print(paste("redelac optimization:", redelac)) print(paste("process in parallel:", parallel)) print(paste("nbslots:", nbSlots)) @@ -125,19 +151,24 @@ lubridate::day(dur), lubridate::hour(dur), lubridate::minute(dur), - lubridate::second(dur)) + lubridate::second(dur) +) sprintf( 'inside gen_usms_xml duration: %g jour(s) %g heure(s) %g minute(s) %g seconde(s)', lubridate::day(durGenXP), lubridate::hour(durGenXP), lubridate::minute(durGenXP), - lubridate::second(durGenXP)) + lubridate::second(durGenXP) +) sprintf( 'inside gen_usms_xml2txt duration: %g jour(s) %g heure(s) %g minute(s) %g seconde(s)', lubridate::day(durGenTP), lubridate::hour(durGenTP), lubridate::minute(durGenTP), - lubridate::second(durGenTP)) -print("===================================================================================") + lubridate::second(durGenTP) +) +print( + "===================================================================================" +)