Articles of gil

Python Global Interpreter Lock GIL problema

Quiero proporcionar un servicio en la web para que las personas puedan probar el rendimiento de un algoritmo, que está escrito en Python y se ejecuta en la máquina Linux. básicamente, lo que quiero hacer es que hay un controlador de PHP muy trivial, digamos start_algo.php, que acepta la solicitud proveniente del navegador, y en […]

Python y hilos verdaderamente concurrentes.

He estado leyendo durante horas y ahora puedo entender completamente cómo el subprocesamiento múltiple de Python es más rápido que un solo subproceso. La pregunta realmente proviene de GIL. Si hay GIL, y solo un subproceso se está ejecutando realmente a la vez, ¿cómo puede el subprocesamiento múltiple ser más rápido que un único subproceso? […]

Entendiendo Python GIL – E / S enlazado vs CPU enlazado

De la documentación de threading de python. En CPython, debido al locking de intérprete global, solo un hilo puede ejecutar el código de Python a la vez (aunque ciertas bibliotecas orientadas al rendimiento pueden superar esta limitación). Si desea que su aplicación haga un mejor uso de los recursos computacionales de las máquinas con varios […]

Hilo de Python y GIL

Estaba leyendo sobre el GIL y nunca se especificó realmente si esto incluye el hilo principal o no (supongo que sí). La razón por la que pregunto es porque tengo un progtwig con una configuración de subprocesos que modifica un diccionario. El hilo principal agrega / elimina en función de la entrada del jugador, mientras […]

¿Cuándo son rápidos los hilos de Python?

Todos somos conscientes de los horrores de la GIL , y he visto mucha discusión sobre el momento adecuado para usar el módulo de multiprocessing , pero todavía no siento que tenga una buena intuición sobre cómo enhebrar en Python ( Centrarse principalmente en CPython) es la respuesta correcta. ¿En qué casos la GIL no […]

GIL en Python 3.1

¿Alguien sabe el destino del locking global de intérpretes en Python 3.1 contra la integración de subprocesamiento múltiple de C ++?

Bloqueo de intérprete global y numpy

Estoy a punto de escribir un código Python intensivo en cómputo que casi con toda seguridad pasará la mayor parte de su tiempo dentro de las funciones de álgebra lineal de numpy . El problema en cuestión es vergonzosamente paralelo . En pocas palabras, la forma más fácil de aprovechar eso sería usar varios subprocesos. […]

Incrustación de python en aplicaciones C multiproceso

Estoy incorporando el intérprete de python en una aplicación de C multiproceso y estoy un poco confundido en cuanto a las API que debo usar para garantizar la seguridad de los subprocesos. De lo que he recostackdo, cuando incrusté python, depende del integrador cuidar del locking de GIL antes de llamar a cualquier otra llamada […]

Una pregunta sobre python GIL

¿La presencia de Python GIL implica que en el subprocesamiento múltiple de python la misma operación no es tan diferente de repetirla en un solo subproceso? Por ejemplo, si necesito cargar dos archivos, ¿cuál es la ventaja de hacerlo en dos subprocesos en lugar de cargarlos uno tras otro? Intenté una gran operación matemática en […]

¿Por qué este script de Python se ejecuta 4 veces más lento en varios núcleos que en un solo núcleo?

Estoy tratando de entender cómo funciona GIL de CPython y cuáles son las diferencias entre GIL en CPython 2.7.xy CPython 3.4.x. Estoy usando este código para la evaluación comparativa: from __future__ import print_function import argparse import resource import sys import threading import time def countdown(n): while n > 0: n -= 1 def get_time(): stats […]