load-balancing parLapply for WER dists computations
[epclust.git] / epclust / R / computeWerDists.R
index 5f12896..f47cd23 100644 (file)
@@ -3,8 +3,8 @@
 #' Compute the WER distances between the series at specified indices, which are
 #' obtaind by \code{getSeries(indices)}
 #'
-#' @param indices Range of series indices to cluster
-#' @param getSeries Function to retrieve series (argument: 'indices', integer vector),
+#' @param indices Indices of the series to consider
+#' @param getSeries Function to retrieve series (argument: 'inds', integer vector),
 #'   as columns of a matrix
 #' @param ncores Number of cores for parallel runs
 #' @inheritParams claws
@@ -12,8 +12,8 @@
 #' @return A distances matrix of size K x K where K == length(indices)
 #'
 #' @export
-computeWerDists <- function(indices, getSeries, nb_series_per_chunk, smooth_lvl=3, nvoice=4,
-       nbytes=4, endian=.Platform$endian, ncores=3, verbose=FALSE)
+computeWerDists <- function(indices, getSeries, nb_series_per_chunk, smooth_lvl=3,
+       nvoice=4, nbytes=4, endian=.Platform$endian, ncores=3, verbose=FALSE)
 {
        n <- length(indices)
        L <- length(getSeries(1)) #TODO: not very neat way to get L
@@ -116,7 +116,7 @@ computeWerDists <- function(indices, getSeries, nb_series_per_chunk, smooth_lvl=
 
        ignored <-
                if (parll)
-                       parallel::parLapply(cl, seq_len(n-1), computeDistances)
+                       parallel::parLapplyLB(cl, seq_len(n-1), computeDistances)
                else
                        lapply(seq_len(n-1), computeDistances)
        Xwer_dist[n,n] <- 0.