home.social

#multiprocessing — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #multiprocessing, aggregated by home.social.

  1. Нейросети, генетика и десктоп: как я построил микрофреймворк для обучения AI-агентов с неблокирующим GUI

    Микрофреймворк для параллельного обучения AI-агентов в средах Gymnasium с графическим интерфейсом на wxPython. Решает классическую проблему «зависшего GUI» при длительном обучении нейросетей: вычисления вынесены в отдельные процессы-сервисы, а интерфейс остаётся полностью отзывчивым. Поддерживает плагинную систему для добавления новых сред, визуализацию прогресса (графики Matplotlib), генетический алгоритм обучения (нейроэволюцию через DEAP) и сборку в один .exe через PyInstaller с автоматическим CI/CD.

    habr.com/ru/articles/1030208/

    #python #нейросети #генетический_алгоритм #нейроэволюция #pytorch #wxpython #multiprocessing #микрофреймворк #desktop_приложение #gui

  2. Нейросети, генетика и десктоп: как я построил микрофреймворк для обучения AI-агентов с неблокирующим GUI

    Микрофреймворк для параллельного обучения AI-агентов в средах Gymnasium с графическим интерфейсом на wxPython. Решает классическую проблему «зависшего GUI» при длительном обучении нейросетей: вычисления вынесены в отдельные процессы-сервисы, а интерфейс остаётся полностью отзывчивым. Поддерживает плагинную систему для добавления новых сред, визуализацию прогресса (графики Matplotlib), генетический алгоритм обучения (нейроэволюцию через DEAP) и сборку в один .exe через PyInstaller с автоматическим CI/CD.

    habr.com/ru/articles/1030208/

    #python #нейросети #генетический_алгоритм #нейроэволюция #pytorch #wxpython #multiprocessing #микрофреймворк #desktop_приложение #gui

  3. Нейросети, генетика и десктоп: как я построил микрофреймворк для обучения AI-агентов с неблокирующим GUI

    Микрофреймворк для параллельного обучения AI-агентов в средах Gymnasium с графическим интерфейсом на wxPython. Решает классическую проблему «зависшего GUI» при длительном обучении нейросетей: вычисления вынесены в отдельные процессы-сервисы, а интерфейс остаётся полностью отзывчивым. Поддерживает плагинную систему для добавления новых сред, визуализацию прогресса (графики Matplotlib), генетический алгоритм обучения (нейроэволюцию через DEAP) и сборку в один .exe через PyInstaller с автоматическим CI/CD.

    habr.com/ru/articles/1030208/

    #python #нейросети #генетический_алгоритм #нейроэволюция #pytorch #wxpython #multiprocessing #микрофреймворк #desktop_приложение #gui

  4. Нейросети, генетика и десктоп: как я построил микрофреймворк для обучения AI-агентов с неблокирующим GUI

    Микрофреймворк для параллельного обучения AI-агентов в средах Gymnasium с графическим интерфейсом на wxPython. Решает классическую проблему «зависшего GUI» при длительном обучении нейросетей: вычисления вынесены в отдельные процессы-сервисы, а интерфейс остаётся полностью отзывчивым. Поддерживает плагинную систему для добавления новых сред, визуализацию прогресса (графики Matplotlib), генетический алгоритм обучения (нейроэволюцию через DEAP) и сборку в один .exe через PyInstaller с автоматическим CI/CD.

    habr.com/ru/articles/1030208/

    #python #нейросети #генетический_алгоритм #нейроэволюция #pytorch #wxpython #multiprocessing #микрофреймворк #desktop_приложение #gui

  5. Разбор threading vs multiprocessing vs asyncio в Python

    При работе с Python да и другими языками программирования часто возникает необходимость ускорения выполнения кода, масштабирования обработки данных или работы с большим количеством сетевых запросов. Именно в Python для решения этих задач существуют три базовых метода. Это: threading, multiprocessing и asyncio. На первый взгляд – механизмы схожие. Но при детальном разборе ясно, что они решают принципиально разные задачи, опираются на разные модели исполнения и обладают своими ограничениями. В статье расскажу об особенностях каждого метода – будет интересно и познавательно.

    habr.com/ru/articles/991478/

    #threading #multiprocessing #asyncio #Python #параллельность #конкурентность #CPUbound #event_loop #многопоточность

  6. Разбор threading vs multiprocessing vs asyncio в Python

    При работе с Python да и другими языками программирования часто возникает необходимость ускорения выполнения кода, масштабирования обработки данных или работы с большим количеством сетевых запросов. Именно в Python для решения этих задач существуют три базовых метода. Это: threading, multiprocessing и asyncio. На первый взгляд – механизмы схожие. Но при детальном разборе ясно, что они решают принципиально разные задачи, опираются на разные модели исполнения и обладают своими ограничениями. В статье расскажу об особенностях каждого метода – будет интересно и познавательно.

    habr.com/ru/articles/991478/

    #threading #multiprocessing #asyncio #Python #параллельность #конкурентность #CPUbound #event_loop #многопоточность

  7. Разбор threading vs multiprocessing vs asyncio в Python

    При работе с Python да и другими языками программирования часто возникает необходимость ускорения выполнения кода, масштабирования обработки данных или работы с большим количеством сетевых запросов. Именно в Python для решения этих задач существуют три базовых метода. Это: threading, multiprocessing и asyncio. На первый взгляд – механизмы схожие. Но при детальном разборе ясно, что они решают принципиально разные задачи, опираются на разные модели исполнения и обладают своими ограничениями. В статье расскажу об особенностях каждого метода – будет интересно и познавательно.

    habr.com/ru/articles/991478/

    #threading #multiprocessing #asyncio #Python #параллельность #конкурентность #CPUbound #event_loop #многопоточность

  8. Разбор threading vs multiprocessing vs asyncio в Python

    При работе с Python да и другими языками программирования часто возникает необходимость ускорения выполнения кода, масштабирования обработки данных или работы с большим количеством сетевых запросов. Именно в Python для решения этих задач существуют три базовых метода. Это: threading, multiprocessing и asyncio. На первый взгляд – механизмы схожие. Но при детальном разборе ясно, что они решают принципиально разные задачи, опираются на разные модели исполнения и обладают своими ограничениями. В статье расскажу об особенностях каждого метода – будет интересно и познавательно.

    habr.com/ru/articles/991478/

    #threading #multiprocessing #asyncio #Python #параллельность #конкурентность #CPUbound #event_loop #многопоточность

  9. Very interesting read about how ~1970‘s C-based synchronous timeslice hardware architecture doesn‘t fit +2000’s networked GUI #multiprocessing anymore.

    It‘s true, even if we live the paradigm change in #programming we need to bolt it on the previous stuff using async or dispatcher libs, message handlers, etc. and then we say „look mum, I made it event-driven and distributed“ 😅

    It is even difficult to imagine an AS/400‘s memory model if you lived in a C landscape.

    programmingsimplicity.substack

  10. Мониторинг Celery. Pull-модель

    В этой статье рассмотрим возможность получать метрики Celery непосредственно от самих воркеров, хитрости, на которые придётся пойти, чтобы решить эту задачу, и, самое главное, какие преимущества от этого можно получить по сравнению с классическим подходом к мониторингу Celery. Также продемонстрирую небольшой Django-проект и пример его конфигурации. Особое внимание будет уделено режиму мультипроцессинга и тому, как та или иная конфигурация запуска Celery будет влиять на сложность решения.

    habr.com/ru/companies/domclick

    #celery #celery_worker #celery_flower #celery_beat #metrics #multiprocessing #multithreading #monitoring

  11. Мониторинг Celery. Pull-модель

    В этой статье рассмотрим возможность получать метрики Celery непосредственно от самих воркеров, хитрости, на которые придётся пойти, чтобы решить эту задачу, и, самое главное, какие преимущества от этого можно получить по сравнению с классическим подходом к мониторингу Celery. Также продемонстрирую небольшой Django-проект и пример его конфигурации. Особое внимание будет уделено режиму мультипроцессинга и тому, как та или иная конфигурация запуска Celery будет влиять на сложность решения.

    habr.com/ru/companies/domclick

    #celery #celery_worker #celery_flower #celery_beat #metrics #multiprocessing #multithreading #monitoring

  12. Мониторинг Celery. Pull-модель

    В этой статье рассмотрим возможность получать метрики Celery непосредственно от самих воркеров, хитрости, на которые придётся пойти, чтобы решить эту задачу, и, самое главное, какие преимущества от этого можно получить по сравнению с классическим подходом к мониторингу Celery. Также продемонстрирую небольшой Django-проект и пример его конфигурации. Особое внимание будет уделено режиму мультипроцессинга и тому, как та или иная конфигурация запуска Celery будет влиять на сложность решения.

    habr.com/ru/companies/domclick

    #celery #celery_worker #celery_flower #celery_beat #metrics #multiprocessing #multithreading #monitoring

  13. Мониторинг Celery. Pull-модель

    В этой статье рассмотрим возможность получать метрики Celery непосредственно от самих воркеров, хитрости, на которые придётся пойти, чтобы решить эту задачу, и, самое главное, какие преимущества от этого можно получить по сравнению с классическим подходом к мониторингу Celery. Также продемонстрирую небольшой Django-проект и пример его конфигурации. Особое внимание будет уделено режиму мультипроцессинга и тому, как та или иная конфигурация запуска Celery будет влиять на сложность решения.

    habr.com/ru/companies/domclick

    #celery #celery_worker #celery_flower #celery_beat #metrics #multiprocessing #multithreading #monitoring

  14. История эволюции веб-сервиса: от примера из доки до космолета

    5k RPS, 5ms Latency и 100 экспериментов одновременно. История о том, как наша команда перестраивала веб-сервис для сплитования трафика в высокопроизводительную систему. С какими ограничениями Cpython и Gil столкнулись на пути, как обходили "узкие места" и оптимизировали сервис до микросекунд. В общем, всё о том, как мы построили "космолет" на Python и взлетели! Ну и, конечно же, ответ на вопрос: "Почему не Go? ".

    habr.com/ru/companies/okko/art

    #python #multiprocessing #performance #okko #ab_testing

  15. There was something interesting going on on one of my systems:

    If a certain function in was called as a separate process with the library, then the sort_values function of would just hang (and therefore the process would never produce the output I was waiting for). Called from the main process was OK.

    The solution was to change the sorting algorithm by the `kind="stable"` parameter. Weird.

  16. This year's programming revelation for me was the #multiprocessing library #ray. Now that I've discovered how easily you can adapt existing code to make it scale up to any number of nodes, I can never go back to Python's built-in multiprocessing, especially considering all the limitations that have suddenly evaporated in a ray :mind_blown: Also, the interface is so dead simple, I can't believe it. #python #programming #DataScience #bigdata #scalability #parallelization #interfaces #ux

  17. kitfucoda.medium.com/concurren

    Concurrency and parallelism are often confused in async programming discussions. Go's goroutines highlighted the difference: concurrency is doing many things at once, while parallelism is doing many things at the same time.

    AsyncIO handles concurrency well for I/O, but CPU-bound tasks need parallelism. Python uses AsyncIO for concurrency, and ProcessPoolExecutor for parallelism, distributing work across CPU cores.

    Process communication is harder than thread communication. AsyncIO's task cancellation differs from ProcessPoolExecutor's, requiring workarounds like event objects for reliable cancellation and shutdown.

    Essentially, ProcessPoolExecutor enables parallelism for CPU-bound tasks, scaling them across multiple cores, while AsyncIO handles I/O concurrently.

    #python #asyncio #concurrency #parallelism #multiprocessing #opentowork #getfedihired #fedihire #opentowork

  18. I used to love #Python, but dealing with the honestly kind of scary #multiprocessing library was a reminder of the #GIL #threading situation really hurts working with #parallelism. 😰🫠

    I've started learning #Kotlin after honestly really enjoying the threading library it provides. It's so's easy to work with when you understand it! 😀 (I would prefer to stay away from some of the #Java conventions after working with them for so long. 👍) #JVM #programming
    f.kawa-kun.com/display/881761a…

  19. Параллельные вычисления, конкурентность и асинхронное программирование в Python: обзор для начинающих

    Однопоточные приложения на Python ограничены в производительности: они выполняют задачи последовательно и не используют преимущества многоядерных процессоров. Кроме того, такие программы не справляются с обработкой множества операций одновременно, особенно если речь идет о задачах, связанных с вводом-выводом, например сетевыми запросами или чтением файлов. Производительность можно значительно улучшить, внедрив в код параллельные вычисления, конкурентность или асинхронное программирование. Для этого Python предлагает такие инструменты, как multiprocessing, threading и asyncio.

    habr.com/ru/companies/skillfac

    #python #multiprocessing #asyncio #threading

  20. Article: 10 times faster, running cases in parallel

    In this article, we explore running optimization model cases in parallel. Specifically, we use the Python multiprocessing and mpi4py libraries to fully use the many CPU cores/threads in modern computers.

    Our goals are to:
    - Illustrate how to apply the multiprocessing and mpi4py libraries to running optimization model cases in parallel.
    - Measure the performance of running cases in parallel compared with serially.
    - Compare the performance of an old 4 core / 4 thread CPU with a new 20 core / 28 thread CPU, using the HiGHS solver.

    solvermax.com/blog/10-times-fa
    #Python #pyomo #orms #optimization #modelling #HiGHS #multiprocessing #mpi4py

  21. Ускорение Python в 2 раза с помощью multiprocessing, async и MapReduce

    Python действительно может считаться относительно медленным языком программирования по сравнению с некоторыми другими языками, такими как C++ или Java. Однако, существуют различные библиотеки и инструменты, которые позволяют ускорить выполнение счетных задач в Python. Рассмотрим как можно ускорить анализ данных в 2 раза!

    habr.com/ru/articles/825206/

    #python3 #python #asyncio #async/await #multiprocessing #mapreduce

  22. I've been working on a #space #visualization tool for our operators. It basically needs to always know, and be ready to plot, where every single one of 60k+ objects is down to millidegree/meter/second resolution just in case the sensor suddenly slews there

    My own constraint is that it has to be 1) a single 2) #python executable because otherwise I'm not interested

    Earlier this year, I found a great 30x faster technique for determining which #satellites are above the horizon. (In fact, it's far more general than that, but that's all the help it gives me to this problem.)

    I also realized I could spawn a #multiprocessing child to do lookahead on data and then pass a huge #numpy array to my graphing process. (Investigated ~9 different ways, chose the best)

    But there I was stuck.

    At any given moment, there are ~4500 space objects above the horizon (at our latitude). Putting 4500 points with little persistence trails and labels and then updating all that at 1Hz let alone the 10Hz I'd like was taking too long, even using the amazing #pyqtgraph

    So there I was stuck. Until this week.

  23. Oh wow #pyhton threading lib is sooo nice. I used the #multiprocessing lib a while back and found it cumbersome. Parallelism in my existing Artifactory calls will be a snap with this one. I update metadata on docker manifests with quality gate data, deployment operator and deployment approver. When I did this we had less than related 20 images. We now have 60+ and it’s time to boost the efficiency a bit. This will be easy. I haven’t had to do much unit testing around threading so this should be fun

  24. 1) Multi-threading: by using `cpu_cores() - 1` workers as pipelines to solve sudokus, it was easy to the workload

  25. Почему multiprocessing.Queue() тормозит и как обойти это с помощью shared_memory

    Привет, Хабр! Вы запускаете многопроцессную задачу, кидаете данные в multiprocessing.Queue() , а потом вдруг замечаете... что всё тормозит. Муторно. Медленно. Местами прям отвратительно. Вы смотрите в монитор, на top, на htop, на код — и не понимаете: ну ведь должно же летать! А не летит.

    habr.com/ru/companies/otus/art

    #python #multiprocessing #очередь #производительность #shared_memory #межпроцессное_взаимодействие #кольцевой_буфер

  26. kitfucoda.medium.com/telegram-

    My recent refactoring journey began with a take-home assignment's hidden pitfall: a hard-coded queue in settings.py. This seemingly small detail quickly grew into a global state headache, making testing and modularity a real challenge.

    To tackle this, I focused on explicitly managing inter-process communication. The solution involved leveraging multiprocessing.Manager to centralize shared synchronization primitives, allowing for much cleaner dependency injection across parallel processes.

    This refactoring delivered significant benefits. It drastically improved testability by eliminating the need for global patching. It also brought consistency and enhanced modularity, laying a robust foundation for future scalability.

    It's been a valuable lesson, directly applicable to my own operational chatbot. While not a performance optimization, the structural clarity gained is immensely rewarding. I'm looking forward to diving deeper into the testing aspects of this setup soon!

    #Python #Refactoring #Multiprocessing #CleanCode #SoftwareArchitecture #getfedihired #fedihire #OpenToWork

  27. #question for #Python developers who do #multiprocessing

    - What tips / tricks do you have for minimising the pickling / serialisation overhead?

    - Are there any tools for #profiling what is being pickled?

    - Bonus: what's your favourite Python profiler and why?

  28. Как мы используем разделяемую память в Aqueduct

    Привет. Меня зовут Денис Лисовик, я Backend-инженер в команде Data Science SWAT Авито. В этой статье рассказываю, как использовать разделяемую память в Aqueduct. Вместе мы шаг за шагом пройдем от сервиса, который едва держит один RPS, до сервиса, который может держать сотни запросов в секунду. В процессе вы узнаете, как использовать разделяемую память и как сделать так, чтобы она не утекала, а приложение не падало с Segmentation fault.

    habr.com/ru/companies/avito/ar

    #python #shared_memory #multiprocessing

  29. @kentpitman @sigrid @mdhughes @awkravchuk

    Featuring #unix_surrealism ! @prahou

    @pkw ncurses #lisp #asdf #multiprocessing codeberg.org/pkw/open-borders

    telnet lambda.moo.mud.org 8888
    co guest
    @join screwtape

    #lambdaMOO !

    I think @me bumped eir head on the resource limit in-MOO finally? Meet in paradise sushi!

  30. You know it's time to stop when you have to implement __setstate__ and __getstate__ methods to exclude the boto3 s3 client from being serialized/deserialized by Pickle in multiprocessing.

    #python #s3 #multiprocessing #pickle

  31. Have you ever programmed a human computer? Having 30 people walking around the room to exchange information between RAM addresses and CPU registers, and human CPUs execute operations on the clock is a very special experience*.

    This week I learned more than in a ~year of self-study, thanks to the 16th Advanced Scientific Programming in #Python aspp.school
    We covered version control, packaging, testing, debugging, computer architecture, some #numpy and #pandas -fu, programming patterns aka what goes into a class and what doesn't, big-O to understand the scaling of various operations and how to find the fastest one for the given data type and size, and an intro to #multithreading and #multiprocessing 🍭

    A personal highlight for me was pair programming. I never thought writing code in with a buddy would be so much fun, but I learned a lot from my buddies and now I don't want to go back to writing code alone 😅

    Very indebted to the teachers and organizers; aspp.school/wiki/faculty if you ever meet one of those people, please buy them a drink for what they have done for a better code karma state in the universe

    *our human computer didn't manage to execute the simplest sorting algorithm and the CPUs started to sweat; we experienced what happens when the code is ambiguous and imprecise 😱🫨

  32. Разница между pool.map и pool.map_async в Python

    Еще одна статья-шпаргалка о модуле multiprocessing в Python, без воды, от новичка для новичков многопроцессорного программирования. pool.map и pool.map_async являются методами модуля multiprocessing.Pool в Python, которые позволяют параллельно выполнять функции на нескольких процессах.

    habr.com/ru/articles/804917/

    #multiprocessing #многопроцессорность

  33. Модули multiprocessing и threading в Python

    Данная статья написана новичком для новичков, т.е. для тех, кто только начинает изучать возможности многопроцессорного и многопоточного программирования в Python. Статья намеренно пишется без воды и со скомканной теорией, в стиле шпаргалки.

    habr.com/ru/articles/804799/

    #multiprocessing #multithreading

  34. Как работает multiprocessing в Python под капотом

    Я довольно давно пишу на Python и во многих проектах использовал multiprocessing — пакет стандартной библиотеки языка Python, который предоставляет интерфейс для работы с процессами, очередями, пулами процессов и многими другими удобными инструментами для параллельного программирования. В какой-то момент я понял, что мне не хватает более детального понимания работы этой библиотеки. Мне захотелось залезть в исходники multiprocessing, разобраться и заодно написать статью. Данная статья в основном рассчитана на новичков в Python и тех, кто хочет подробнее разобраться в том, как именно создаются процессы и пулы в Python и погрузиться в детали реализации.

    habr.com/ru/articles/803607/

    #python #multiprocessing #параллельное_программирование #процессы

  35. Тестируем многоядерный процессор методом Кнута и Python’а

    В 1978 году вышел третий том монографии Дональда Кнута «Искусство программирования», где автор рассматривает алгоритмы сортировки и поиска. Помимо самих алгоритмов описаны аппаратные характеристики компьютера и их влияние на производительность при работе с алгоритмами. В 2024 году мы с вами возьмём классические алгоритмы сортировки и посмотрим, как работает современный многоядерный процессор при сортировке нескольких массивов на одном и нескольких логических ядрах. Мы напишем приложение с графическим интерфейсом (GUI) на фреймворке Qt, обойдем глобальную блокировку интерпретатора (GIL), воспользуемся несколькими потоками, на один из которых переложим выполнение асинхронного цикла событий, и распараллелим этот поток для реализации параллельных вычислений.

    habr.com/ru/articles/792832/

    #python #multithreading #multiprocessing #qt #pyside #алгоритмы #дональд_кнут #asyncio

  36. Монтаж уличной ip-камеры и вывод изображения по RTSP (python, raspberry pi)

    Камеры видеонаблюдения стали для многих стран обыденностью, например в Китае, они могут свисать гроздьями, через каждые 5 метров, по улице. Но в провинции России это все еще может быть в новинку. Я отношусь к видеонаблюдению по большей мере положительно. Ведь вид камеры, даже превентивно может предотваратить хулиганство (однажды я использовал муляжи камер в офисе:)), а главное это возможность контроллировать обьект наблюдения. Этот пост про монтаж уличной камеры, на стену многоквартирного дома и программную реализацию - вывод изображения, без использования стандартной программы, оптимизацию (размещение на raspberry pi).

    habr.com/ru/articles/783352/

    #cctv #multiprocessing #opencv #ipкамера #видеонаблюдение #захват_кадров #python #flask #камеры_наблюдения #raspberry

  37. Python Multiprocessing. Обмен данными между процессами. Передача объектов пользовательских классов

    Параллельное программирование — сложный, но очень полезный навык для программиста. Оно позволяет эффективно использовать мощности современных компьютеров с несколькими ядрами и процессорами. Это особенно важно при решении сложных задач, например, в инженерных расчетах, обработке мультимедийных данных, обучении нейросетей и многом другом. Модуль Multiprocessing позволяет использовать так называемый истинный параллелизм, то есть создавать процессы, которые выполняются полностью независимо друг от друга. В этом случае процессы не имеют общей памяти и не могут просто так читать и изменять одни и те же переменные. Конечно же, в модуле multiprocessing реализован нативный способ передавать данные между процессами, и даже не один. Однако как только мы отходим от встроенных типов данных, то готовые решения уже не работают. О том, как с этим обходиться, я и расскажу в этой статье.

    habr.com/ru/articles/789904/

    #multiprocessing #DataManager #SyncManager #shared_memory #параллельное_программирование #параллелизм #процесс

  38. Python Multiprocessing. Обмен данными между процессами. Передача объектов пользовательских классов

    Параллельное программирование — сложный, но очень полезный навык для программиста. Оно позволяет эффективно использовать мощности современных компьютеров с несколькими ядрами и процессорами. Это особенно важно при решении сложных задач, например, в инженерных расчетах, обработке мультимедийных данных, обучении нейросетей и многом другом. Модуль Multiprocessing позволяет использовать так называемый истинный параллелизм, то есть создавать процессы, которые выполняются полностью независимо друг от друга. В этом случае процессы не имеют общей памяти и не могут просто так читать и изменять одни и те же переменные. Конечно же, в модуле multiprocessing реализован нативный способ передавать данные между процессами, и даже не один. Однако как только мы отходим от встроенных типов данных, то готовые решения уже не работают. О том, как с этим обходиться, я и расскажу в этой статье.

    habr.com/ru/articles/789904/

    #multiprocessing #DataManager #SyncManager #shared_memory #параллельное_программирование #параллелизм #процесс

  39. is a for .

    MPIRE ( Is Really Easy) simplifies many concurrent tasks in a performance-maximizing way. MPIRE offers map, shared copy-on-write objects, simple methods for managing worker state, as well as builtin progress bars using . MPIRE's performance is better than most other Python multiprocessing libraries for many use cases.

    Website 🔗️: github.com/Slimmer-AI/mpire

  40. kitfucoda.medium.com/concurren

    Concurrency and parallelism are often confused in async programming discussions. Go's goroutines highlighted the difference: concurrency is doing many things at once, while parallelism is doing many things at the same time.

    AsyncIO handles concurrency well for I/O, but CPU-bound tasks need parallelism. Python uses AsyncIO for concurrency, and ProcessPoolExecutor for parallelism, distributing work across CPU cores.

    Process communication is harder than thread communication. AsyncIO's task cancellation differs from ProcessPoolExecutor's, requiring workarounds like event objects for reliable cancellation and shutdown.

    Essentially, ProcessPoolExecutor enables parallelism for CPU-bound tasks, scaling them across multiple cores, while AsyncIO handles I/O concurrently.

  41. kitfucoda.medium.com/concurren

    Concurrency and parallelism are often confused in async programming discussions. Go's goroutines highlighted the difference: concurrency is doing many things at once, while parallelism is doing many things at the same time.

    AsyncIO handles concurrency well for I/O, but CPU-bound tasks need parallelism. Python uses AsyncIO for concurrency, and ProcessPoolExecutor for parallelism, distributing work across CPU cores.

    Process communication is harder than thread communication. AsyncIO's task cancellation differs from ProcessPoolExecutor's, requiring workarounds like event objects for reliable cancellation and shutdown.

    Essentially, ProcessPoolExecutor enables parallelism for CPU-bound tasks, scaling them across multiple cores, while AsyncIO handles I/O concurrently.

    #python #asyncio #concurrency #parallelism #multiprocessing #opentowork #getfedihired #fedihire #opentowork

  42. kitfucoda.medium.com/concurren

    Concurrency and parallelism are often confused in async programming discussions. Go's goroutines highlighted the difference: concurrency is doing many things at once, while parallelism is doing many things at the same time.

    AsyncIO handles concurrency well for I/O, but CPU-bound tasks need parallelism. Python uses AsyncIO for concurrency, and ProcessPoolExecutor for parallelism, distributing work across CPU cores.

    Process communication is harder than thread communication. AsyncIO's task cancellation differs from ProcessPoolExecutor's, requiring workarounds like event objects for reliable cancellation and shutdown.

    Essentially, ProcessPoolExecutor enables parallelism for CPU-bound tasks, scaling them across multiple cores, while AsyncIO handles I/O concurrently.

    #python #asyncio #concurrency #parallelism #multiprocessing #opentowork #getfedihired #fedihire #opentowork

  43. I used to love #Python, but dealing with the honestly kind of scary #multiprocessing library was a reminder of the #GIL #threading situation really hurts working with #parallelism. 😰🫠

    I've started learning #Kotlin after honestly really enjoying the threading library it provides. It's so's easy to work with when you understand it! 😀 (I would prefer to stay away from some of the #Java conventions after working with them for so long. 👍) #JVM #programming
    f.kawa-kun.com/display/881761a…

  44. История эволюции веб-сервиса: от примера из доки до космолета

    5k RPS, 5ms Latency и 100 экспериментов одновременно. История о том, как наша команда перестраивала веб-сервис для сплитования трафика в высокопроизводительную систему. С какими ограничениями Cpython и Gil столкнулись на пути, как обходили "узкие места" и оптимизировали сервис до микросекунд. В общем, всё о том, как мы построили "космолет" на Python и взлетели! Ну и, конечно же, ответ на вопрос: "Почему не Go? ".

    habr.com/ru/companies/okko/art

    #python #multiprocessing #performance #okko #ab_testing

  45. История эволюции веб-сервиса: от примера из доки до космолета

    5k RPS, 5ms Latency и 100 экспериментов одновременно. История о том, как наша команда перестраивала веб-сервис для сплитования трафика в высокопроизводительную систему. С какими ограничениями Cpython и Gil столкнулись на пути, как обходили "узкие места" и оптимизировали сервис до микросекунд. В общем, всё о том, как мы построили "космолет" на Python и взлетели! Ну и, конечно же, ответ на вопрос: "Почему не Go? ".

    habr.com/ru/companies/okko/art

    #python #multiprocessing #performance #okko #ab_testing

  46. История эволюции веб-сервиса: от примера из доки до космолета

    5k RPS, 5ms Latency и 100 экспериментов одновременно. История о том, как наша команда перестраивала веб-сервис для сплитования трафика в высокопроизводительную систему. С какими ограничениями Cpython и Gil столкнулись на пути, как обходили "узкие места" и оптимизировали сервис до микросекунд. В общем, всё о том, как мы построили "космолет" на Python и взлетели! Ну и, конечно же, ответ на вопрос: "Почему не Go? ".

    habr.com/ru/companies/okko/art

    #python #multiprocessing #performance #okko #ab_testing

  47. Монтаж уличной ip-камеры и вывод изображения по RTSP (python, raspberry pi)

    Камеры видеонаблюдения стали для многих стран обыденностью, например в Китае, они могут свисать гроздьями, через каждые 5 метров, по улице. Но в провинции России это все еще может быть в новинку. Я отношусь к видеонаблюдению по большей мере положительно. Ведь вид камеры, даже превентивно может предотваратить хулиганство (однажды я использовал муляжи камер в офисе:)), а главное это возможность контроллировать обьект наблюдения. Этот пост про монтаж уличной камеры, на стену многоквартирного дома и программную реализацию - вывод изображения, без использования стандартной программы, оптимизацию (размещение на raspberry pi).

    habr.com/ru/articles/783352/

    #cctv #multiprocessing #opencv #ipкамера #видеонаблюдение #захват_кадров #python #flask #камеры_наблюдения #raspberry

  48. Монтаж уличной ip-камеры и вывод изображения по RTSP (python, raspberry pi)

    Камеры видеонаблюдения стали для многих стран обыденностью, например в Китае, они могут свисать гроздьями, через каждые 5 метров, по улице. Но в провинции России это все еще может быть в новинку. Я отношусь к видеонаблюдению по большей мере положительно. Ведь вид камеры, даже превентивно может предотваратить хулиганство (однажды я использовал муляжи камер в офисе:)), а главное это возможность контроллировать обьект наблюдения. Этот пост про монтаж уличной камеры, на стену многоквартирного дома и программную реализацию - вывод изображения, без использования стандартной программы, оптимизацию (размещение на raspberry pi).

    habr.com/ru/articles/783352/

    #cctv #multiprocessing #opencv #ipкамера #видеонаблюдение #захват_кадров #python #flask #камеры_наблюдения #raspberry