Python параллельдік үшін жақсы ма?
Python параллельдік үшін жақсы ма?

Бейне: Python параллельдік үшін жақсы ма?

Бейне: Python параллельдік үшін жақсы ма?
Бейне: Урок №3. YOLOv4. Код на Python, разбор алгоритмов. Beyond Robotics 2024, Мамыр
Anonim

Python онша емес жақсы процессорға байланысты қатарлас бағдарламалау. GIL (көп жағдайда) сіздің бағдарламаңызды бір ядрода жұмыс істейтін сияқты немесе одан да нашар етеді. Қолданбаңыз енгізу/шығаруға байланысты болса, Python маңызды шешім болуы мүмкін, себебі GIL әдетте қоңырауларды блоктау кезінде шығарылады.

Сондай-ақ білу керек, Python параллельді қолдайды ма?

Python жасайды ең көп тарағандары үшін кірістірілген кітапханалары бар қатарлас бағдарламалау конструкциялары – көп өңдеу және көп ағынды. Себебі, көп ағынды Python GIL-ге байланысты шын мәнінде көп ағынды емес Python.

Сондай-ақ, питонда көп ағынды неліктен мүмкін емес деген сұрақ туындауы мүмкін. CPython аудармашысы (таза Python коды) GIL-ді әрбір жүз байт код нұсқауларын шығаруға мәжбүр етеді. Ол жай ғана аудармашы ішінде бір ағынды бірден іске қосуға мүмкіндік береді. Сондықтан көп өңдеу көп ағынды емес шынайы параллельдікке қол жеткізуге мүмкіндік береді.

Содан кейін сұрақ туындайды, Python көп ағынды үшін жақсы ма?

Python мүмкіндік бермейді көп ағынды сөздің шын мағынасында. Онда бар көп ағынды пакет, бірақ қаласаңыз көп ағынды кодты жылдамдату үшін, әдетте бұл емес жақсы пайдалану идеясы. Python Жаһандық аудармашы құлпы (GIL) деп аталатын құрылымға ие.

Python 3-те параллельдікті жүзеге асыру үшін қандай модульді пайдалануға болады?

The қатарлас . фьючерстер модуль қосылды Python 3.2. сәйкес Python құжаттама, ол әзірлеушіге шақырылатындарды асинхронды түрде орындау үшін жоғары деңгейлі интерфейспен қамтамасыз етеді.

Ұсынылған: