Сколько потоков я могу запустить в моей программе?
У меня есть программа на Python, которая использует модуль потоков и запускает многопоточность, которая выполняет функцию. Число 8 ниже - это количество потоков в программе, но мне нужно знать, какое количество потоков может обработать мое устройство для максимально быстрого запуска программы.
Вот важная часть моей программы на Python:
for i in range(8):
t = ThreadUrl(q)
t.setDaemon(True)
t.start()
куда q = queue.Queue()
ЦП данных моего устройства есть (используя lscpu
команда в Ubuntu 18.04):
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 94
Model name: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
Stepping: 3
CPU MHz: 1899.473
CPU max MHz: 3500.0000
CPU min MHz: 800.0000
BogoMIPS: 5184.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 6144K
NUMA node0 CPU(s): 0-7
Можете ли вы сказать мне, сколько потоков может обработать моя программа, не вызывая проблем? И как это вычисляется, пожалуйста?
1 ответ
Можете ли вы сказать мне, сколько потоков может обработать моя программа, не вызывая проблем?
I7-6700HQ - 4-ядерный процессор. Каждое ядро поддерживает Intel® Hyper-Threading Technology
, Это означает, что ваш процессор может поддерживать 8 потоков.
Число 8 ниже - это количество потоков в программе, но мне нужно знать, какое количество потоков может обработать мое устройство для максимально быстрого запуска программы.
Ваш код уже оптимизирован для имеющегося у вас оборудования.