и записываю результат выполнения во второй массив.
Как в несколько потоков запустить выполнение функций? Подскажите, что гуглить.
Если функции выполняют CPU операции, то нет никакого смысла запускать их в разных потоках из-за GIL. Если функции выполняют IO-bound операции, то лучше смотреть в сторону асинхронного кода, он менее затратен, чем многопоточный.
Вы также можете попробовать запускать ваши функции в разных процессах. Тогда они будут выполняться параллельно. Но, процессы просто так вот легко не могут обмениваться данными. Придётся разбираться с тем, как собирать результаты. Ну, и это очень затратно. И зависит от количества ядер.
В Python имеются стандартные модули для работы с процессами, потоками и асинхронностью. multiprocessing (https://docs.python.org/3/library/multiprocessing.html), subprocess (https://docs.python.org/3/library/subprocess.html), threading (https://docs.python.org/3/library/threading.html), asyncio (https://docs.python.org/3/library/asyncio.html).
В функциях умножение матриц небольших, на переданные им данные. Данные одни и те же для всех функций. Результат каждой функции не зависит от работы других функций. В каком порядке они выполняются, тоже не важно.
Это CPU опреации. Нет никакого смысла запускать в нескольких потоках. Сумаррное время выполнения будет такое же, как и при последовательном выполнении, а то и больше (за счёт затрат на создание потоков). На счёт процессов смотрите сами. Не думаю, что это даст существенную выгоду.
Сейчас они по очереди запускаются. На 1000 шт. уходит 2.5 секунды. Хотелось бы быстрее секунды получить.
Боюсь, не выйдет. Не тот язык программирования)
Tensorflow, я не совсем в курсе, что там внутри, вроде на C основные операции выполняются.
уможение матриц через tensorflow?
Ну тут тогда надо смотреть уже конкретно. В базе своей питон не умеет в многопоточность с CPU операциями. Но некоторые библиотеки, написанные на Си, могут что-то такое в некоторых случаях. На этом я со своими советами всё 😔
Стоп стоп так если тензорфлов - тебе никаких мультипотоков не надо воротить
Обсуждают сегодня