Articles of concurrencia

Mala optimización de locking en asyncio

Actualización: Título editado para centrarse en el problema principal. Ver mi respuesta para la actualización completa. En el siguiente código, a() y b() son idénticos. Cada uno de ellos cuenta de 0 a 9 simultáneamente, mientras que adquiere y produce un locking cada 2 puntos. import asyncio lock = asyncio.Lock() def a (): yield from […]

Serialización de Sqlite3 en Python

Para utilizar completamente la concurrencia, SQLite3 permite que los subprocesos accedan a la misma conexión de tres maneras: De un solo hilo En este modo, todos los mutexes están desactivados y SQLite no es seguro para usar en más de un solo hilo a la vez. Multihilo. En este modo, SQLite puede ser utilizado de […]

Rendimiento de coroutine vs rendimiento de tarea

Guido van Rossum, en su discurso en 2014 en Tulip / Asyncio muestra la diapositiva : Tareas vs coroutines Comparar: res = rendimiento de some_coroutine (…) res = rendimiento de la tarea (some_coroutine (…)) La tarea puede avanzar sin esperarla. Como registro mientras esperas algo más. es decir, el rendimiento de Y estoy perdiendo completamente […]

Python y multicores sin stack?

Entonces, estoy jugando con Stackless Python y surgió una pregunta en mi cabeza, tal vez esto sea un “supuesto” o conocimiento “común”, pero no pude encontrarlo realmente escrito en ningún lugar en el sitio sin stack . ¿ Stackless Python se aprovecha de las CPUs multinúcleo? En Python normal, la GIL está constantemente presente y […]

Control de concurrencia en el modelo Django.

¿Cómo manejo la concurrencia en un modelo de Django? No quiero que los cambios en el registro sean sobrescritos por otro usuario que lea el mismo registro.

¿Cómo paralelizar el método .predict () de un clasificador scikit-learn SVM (SVC)?

Hace poco encontré el requisito de tener una instancia de clasificador SVC scikit-learn entrenada en .fit() y necesito .predict() muchas instancias. ¿Hay alguna forma de paralelizar solo este método .predict() con alguna scikit-learn ? from sklearn import svm data_train = [[0,2,3],[1,2,3],[4,2,3]] targets_train = [0,1,0] clf = svm.SVC(kernel=’rbf’, degree=3, C=10, gamma=0.3, probability=True) clf.fit(data_train, targets_train) # this […]

Django: ¿cómo hacer get_or_create () de una manera segura para subprocesos?

En mi aplicación Django muy a menudo necesito hacer algo similar a get_or_create() . P.ej, El usuario envía una etiqueta. Necesito ver si esa etiqueta ya está en la base de datos. Si no, crea un nuevo registro para ello. Si es así, simplemente actualice el registro existente. Pero buscando en el documento para get_or_create() […]

¿Cómo llamamos a una función normal donde se espera una coroutina?

Considere una coroutina que llama a otra coroutina: async def foo(bar): result = await bar() return result Esto funciona bien si la bar es una coroutine. ¿Qué debo hacer (es decir, con qué necesito para ajustar la llamada a la bar ) para que este código haga lo correcto si la bar es una función […]

Ejecutando múltiples progtwigs de Python concurrentes accediendo a la misma tabla de base de datos

¿Hay algo en Python que le permita ejecutar múltiples progtwigs concurrentes de Python que potencialmente puedan acceder a la misma tabla de base de datos y evitar que cada progtwig use la CPU completa y, por lo tanto, permitir que el servidor tenga alguna capacidad adicional?

python concurrent.futures.ProcessPoolExecutor: Rendimiento de .submit () vs .map ()

Estoy usando concurrent.futures.ProcessPoolExecutor para encontrar la ocurrencia de un número de un rango de números. La intención es investigar la cantidad de rendimiento de aceleración obtenida de la concurrencia. Para comparar el rendimiento, tengo un control: un código de serie para realizar dicha tarea (que se muestra a continuación). He escrito 2 códigos concurrentes, uno […]