Сколько потоков я могу запустить в моей программе?

У меня есть программа на 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 ниже - это количество потоков в программе, но мне нужно знать, какое количество потоков может обработать мое устройство для максимально быстрого запуска программы.

Ваш код уже оптимизирован для имеющегося у вас оборудования.

Другие вопросы по тегам