From c17c16845f3a4e27ddac6169e27428365a8e8529 Mon Sep 17 00:00:00 2001 From: John Mason Date: Wed, 31 Mar 2021 10:34:09 -0400 Subject: [PATCH 1/2] update batch sizes to minimize idle cores --- backtesting/backtesting.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backtesting/backtesting.py b/backtesting/backtesting.py index d4535f44..388aa223 100644 --- a/backtesting/backtesting.py +++ b/backtesting/backtesting.py @@ -1333,7 +1333,8 @@ def _optimize_grid() -> Union[pd.Series, Tuple[pd.Series, pd.Series]]: names=next(iter(param_combos)).keys())) def _batch(seq): - n = np.clip(len(seq) // (os.cpu_count() or 1), 5, 300) + bs = np.ceil(len(seq) / (os.cpu_count() or 1)).astype(int) + n = np.clip(bs, 1, 300) for i in range(0, len(seq), n): yield seq[i:i + n] From 9582e0cdd20d2dcd18ee8aadabf7922a00cff944 Mon Sep 17 00:00:00 2001 From: kernc Date: Wed, 31 Mar 2021 21:20:27 +0200 Subject: [PATCH 2/2] Update backtesting/backtesting.py --- backtesting/backtesting.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/backtesting/backtesting.py b/backtesting/backtesting.py index 388aa223..60bcf686 100644 --- a/backtesting/backtesting.py +++ b/backtesting/backtesting.py @@ -1333,8 +1333,7 @@ def _optimize_grid() -> Union[pd.Series, Tuple[pd.Series, pd.Series]]: names=next(iter(param_combos)).keys())) def _batch(seq): - bs = np.ceil(len(seq) / (os.cpu_count() or 1)).astype(int) - n = np.clip(bs, 1, 300) + n = np.clip(int(np.ceil(len(seq) / (os.cpu_count() or 1))), 1, 300) for i in range(0, len(seq), n): yield seq[i:i + n]