Вы не измеряете ничего полезного.При таком небольшом объеме времени обработка данных незначительна:
>>> %timeit for i in range(10): sum([1, 2] * 100000)
23.6 ms ± 1.24 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
Фактическая задержка почти полностью обусловлена временем инициализации и, в меньшей степени, накладными расходами планирования.
Также
рекомендуемое количество рабочих для установки - один на ядро при использовании Spark.
не совсем правильно.Многие задания Spark ограничены вводом-выводом, и рекомендуется переподписка ресурсов.
Самая большая проблема заключается в том, что если задачи становятся небольшими (как здесь), стоимость запуска задачи больше, чем стоимость обработки.На практике ваш процессор переключает потоки много раз в секунду - добавление нескольких дополнительных потоков не будет иметь большого значения.