Python paralellik üçün yaxşıdır?
Python paralellik üçün yaxşıdır?

Video: Python paralellik üçün yaxşıdır?

Video: Python paralellik üçün yaxşıdır?
Video: Distant yoxsa üz-üzə öyrənmə daha yaxşıdır? 2024, Bilər
Anonim

Python çox deyil yaxşı CPU bağlı üçün paralel proqramlaşdırma. GIL (bir çox hallarda) proqramınızın tək nüvədə işlədiyi kimi işləməsini təmin edəcək - və ya daha da pis. Əgər ərizəniz I/O ilə bağlıdırsa, Python Ciddi bir həll ola bilər, çünki GIL adətən zənglərin bloklanması zamanı buraxılır.

Həmçinin bilmək lazımdır ki, Python paralelliyi dəstəkləyirmi?

Python edir ən ümumi üçün daxili kitabxanalar var paralel proqramlaşdırma konstruksiyaları - multiprocessing və multithreading. Səbəb, multithreading Python GIL-ə görə həqiqətən çoxillik deyil Python.

Bir də soruşa bilərsiniz, niyə python-da multithreading mümkün deyil? CPython tərcüməçisi (saf üçün Python kodu) GIL-i hər yüz bayt kod təlimatını buraxmağa məcbur edəcək. O, sadəcə olaraq tərcüməçi daxilində bir başlığın eyni vaxtda işləməsinə imkan verir. Belə ki, multiprocessing çoxillik deyil həqiqi paralelliyə nail olmağa imkan verəcək.

Sonradan sual yaranır ki, Python çox iş parçacığı üçün yaxşıdırmı?

Python imkan vermir çox yivli sözün əsl mənasında. Bu var çox yivli paket amma istəsən çox iplik kodunu sürətləndirmək üçün, o, adətən a deyil yaxşı istifadə etmək fikri. Python Qlobal Tərcüməçi Kilidi (GIL) adlı konstruksiyaya malikdir.

Python 3-də paralelliyi həyata keçirmək üçün hansı moduldan istifadə edilə bilər?

The paralel . fyuçerslər modul daxil edildi Python 3.2. görə Python sənədlər, o, tərtibatçıya zəng edilə bilənləri asinxron şəkildə yerinə yetirmək üçün yüksək səviyyəli interfeys təqdim edir.

Tövsiyə: