Workers parallèles adaptatifs : -w auto = cœurs - 2, résolu au lancement de chaque run
This commit is contained in:
@ -254,3 +254,26 @@ class TestEffectiveGroundMethod:
|
||||
p = LidarArchaeoPipeline(tmpdir, tmpdir, ground_method='smrf',
|
||||
ign_classes="sol,unclassified")
|
||||
assert p._effective_ground_method() == "smrf"
|
||||
|
||||
|
||||
class TestResolveWorkers:
|
||||
def test_auto_scales_with_cpus(self):
|
||||
from lidar_pipeline.pipeline import resolve_workers
|
||||
import os
|
||||
w = resolve_workers('auto')
|
||||
assert w == max(2, min((os.cpu_count() or 4) - 2, 16))
|
||||
|
||||
def test_auto_bounded(self):
|
||||
from lidar_pipeline.pipeline import resolve_workers
|
||||
# Bornes : jamais sous 2, jamais au-dessus de 16
|
||||
assert 2 <= resolve_workers('auto') <= 16
|
||||
|
||||
def test_explicit_int(self):
|
||||
from lidar_pipeline.pipeline import resolve_workers
|
||||
assert resolve_workers('4') == 4
|
||||
assert resolve_workers(7) == 7
|
||||
|
||||
def test_invalid_falls_back_to_one(self):
|
||||
from lidar_pipeline.pipeline import resolve_workers
|
||||
assert resolve_workers('abc') == 1
|
||||
assert resolve_workers(None) == 1
|
||||
|
||||
Reference in New Issue
Block a user