In particolare la classe GreenPool in Eventlet. Ho testato del codice per caricare file di grandi dimensioni su S3 come singoli pezzi di un caricamento multipart. Quello che ho notato finora è che quando si usa l'eventlet l'utilizzo della CPU è molto più basso. Basta cercare altri pro e contro per Eventlet semplicemente usando il threading. Grazie.Quali sono i vantaggi dell'utilizzo del modulo Eventlet in python tramite il modulo di threading?
10
A
risposta
9
In sostanza, i thread verdi di Eventlet devono essere considerati un analogo leggero dei thread del sistema operativo per tutti gli scopi pratici. Pro:
- economico creare in termini di CPU, memoria e syscalls (0)
- più economico per passare; questo è particolarmente vero in Python 2.x in cui ogni thread tenta attivamente di afferrare GIL che spreca CPU.
Contro:
- importante poiché molti fili verdi operano entro un filo OS, quando una chiamata di sistema (es aperta (2)) in uno di essi blocchi filo OS, tutti i fili verdi sono bloccati anche
- no SMP (multicpu/multicore); ma poi con GIL, questo vale anche per i thread del sistema operativo in Python. Con greenlet [1] questa restrizione è più rigorosa poiché non è possibile che alcune estensioni C rilasciano GIL per consentire l'esecuzione di altri thread verdi.
È inoltre possibile trovare questa risposta utile: Is a greenthread equal to a "real" thread
[1] "threading" libreria utilizzata da Eventlet https://github.com/python-greenlet/greenlet
Problemi correlati
- 1. Quali sono i vantaggi/vantaggi dell'utilizzo di Python 3?
- 2. Quali sono i vantaggi dei puntoni
- 3. Quali sono i vantaggi dell'utilizzo di `require` all'interno di un modulo anziché in alto?
- 4. Errore di importazione del modulo di threading Python
- 5. Quali sono i vantaggi di NSBinaryStoreType?
- 6. Quali sono i vantaggi di concurrent.futures rispetto alla multiprocessing in Python?
- 7. Quali sono i vantaggi dell'utilizzo di uniform_int_distribution rispetto a un'operazione di modulo?
- 8. Quali sono i vantaggi dell'utilizzo di automapper?
- 9. Quali sono i vantaggi nell'utilizzo di Qt?
- 10. Quali sono i vantaggi di JRebel?
- 11. quali sono i vantaggi dell'uso di scrapyd?
- 12. Quali sono i veri vantaggi di ExpandoObject?
- 13. Quali sono i vantaggi dell'utilizzo di WCF?
- 14. Quali sono i vantaggi di Persistenza Ignoranza?
- 15. Barra di avanzamento Python TRAMITE il modulo di registrazione
- 16. Quali sono i vantaggi dell'uso di Elixir
- 17. Quali sono i vantaggi del linguaggio di programmazione Kotlin?
- 18. Quali sono i vantaggi dell'automazione del test di accettazione?
- 19. Quali sono i vantaggi del caricamento dinamico di DLL?
- 20. Quali sono i vantaggi delle coroutine?
- 21. Quali sono i vantaggi delle diverse endianness?
- 22. Quali sono i vantaggi del compilatore come servizio
- 23. ReactNative VS NativeScript: quali sono i vantaggi?
- 24. layout del modulo python
- 25. Quali sono i vantaggi di Blocking Queue in Java?
- 26. Quali sono i vantaggi del parsing applicativo sull'analisi monadica?
- 27. Layout del modulo tramite CSS
- 28. Quali sono i vantaggi di MongoDB su MySQL e PostgreSQL?
- 29. In python, quali sono i pro e i contro dell'importazione di una classe e dell'importazione del modulo della classe?
- 30. Quali sono i vantaggi dell'utilizzo di Classi in VBA?