diff --git a/CHANGELOG b/CHANGELOG index e382233..589adbf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ 0.20.4 - enh: reserve one CPU for writer thread and control logic - enh: disentangle logging and debugging keyword arguments + - enh: do not initialize slot_chunks and slot_states with lock 0.20.3 - enh: improve strategy for stalling for slow writer 0.20.2 diff --git a/src/dcnum/logic/ctrl.py b/src/dcnum/logic/ctrl.py index 90511b1..8ea8ec1 100644 --- a/src/dcnum/logic/ctrl.py +++ b/src/dcnum/logic/ctrl.py @@ -670,8 +670,8 @@ def task_segment_extract(self): num_segmenters = max(1, num_segmenters) self.job.kwargs["segmenter_kwargs"]["num_workers"] = num_segmenters self.job.kwargs["segmenter_kwargs"]["debug"] = self.job["debug"] - slot_chunks = mp_spawn.Array("i", num_slots) - slot_states = mp_spawn.Array("u", num_slots) + slot_chunks = mp_spawn.Array("i", num_slots, lock=False) + slot_states = mp_spawn.Array("u", num_slots, lock=False) self.logger.debug(f"Number of slots: {num_slots}") self.logger.debug(f"Number of segmenters: {num_segmenters}")