From 2c54c2be020689614a015f366cb9e0beda72ae24 Mon Sep 17 00:00:00 2001 From: RunasSudo Date: Fri, 27 Oct 2023 23:11:29 +1100 Subject: [PATCH] turnbull: Parallelise get_sum_fail_prob 37% speeedup --- src/turnbull.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/turnbull.rs b/src/turnbull.rs index 020e80d..84a6e05 100644 --- a/src/turnbull.rs +++ b/src/turnbull.rs @@ -24,6 +24,7 @@ use csv::{Reader, StringRecord}; use indicatif::{ProgressBar, ProgressDrawTarget, ProgressStyle}; use nalgebra::{Const, DMatrix, DVector, Dyn, MatrixXx2}; use prettytable::{Table, format, row}; +use rayon::prelude::*; use serde::{Serialize, Deserialize}; use crate::term::UnconditionalTermLike; @@ -321,7 +322,7 @@ fn fit_turnbull_estimator(data: &mut TurnbullData, progress_bar: ProgressBar, ma fn get_sum_fail_prob(data: &TurnbullData, s: &Vec) -> Vec { return data.data_time_interval_indexes - .iter() + .par_iter() .map(|(idx_left, idx_right)| s[*idx_left..(*idx_right + 1)].iter().sum()) .collect(); }