Foros del Web » Programando para Internet » Python »

Saber si el sistema soporta multithreading/multiprocessing

Estas en el tema de Saber si el sistema soporta multithreading/multiprocessing en el foro de Python en Foros del Web. Es posible de alguna forma saber si el sistema que usamos soporta o no multithreading/multiprocessing? O es de suponer que todos lo soportan? Lo pregunto ...
  #1 (permalink)  
Antiguo 11/12/2013, 03:21
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 11 años
Puntos: 0
Saber si el sistema soporta multithreading/multiprocessing

Es posible de alguna forma saber si el sistema que usamos soporta o no multithreading/multiprocessing?

O es de suponer que todos lo soportan?

Lo pregunto porque he lanzado la misma aplicacion con y sin multithreading, midiendo los tiempos, y lo que he obtenido me parece raro:

Tiempo ejecucion secuencial: 38.2579segs
Tiempo con 1 thread: 39.4532segs
Y lo que mas llama la atencion, tiempo con 1 process: 172.5820segs

Por todo esto la pregunta de si es posible saber si el sistema soporta multiporcessing o multithreading.

Tambien aclarar que las tareas que he pasado a los threads o process son tareas claramente diferenciadas del flujo principal, osea que pueden hacerse por separado sin afectar al flujo normal del programa, un ejemplo de estas tareas separadas puede ser ir llenando una tabla Pytable, mientras el resto del programa continua.
  #2 (permalink)  
Antiguo 11/12/2013, 10:12
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Saber si el sistema soporta multithreading/multiprocessing

Si te refieres a la versión de python puedes checar la documentación del modulo y ver desde que versión lo añadieron.

Si te refieres al sistema operativo, si puedes asumir que siempre presente. Incluso en la época de procesadores de un solo núcleo están presentes.

En cuanto al rendimiento de tu script definitivamente es tu código, aunque no lo he visto tengo la certeza que no estas haciendo uso correcto de threads o tal vez no lo estas explotando al 100%.

En cuanto a procesos es normal ya que hace una copia de tu proceso actual (en caso de fork) o si estas ejecutando otro proceso (no fork de tu propio script) es normal porque es un poco mas costoso la inicialización (pero no debería tanta diferencia), pero es mas efectivo cuando escala.

En todo caso, si es tu código.

Etiquetas: ip, sistema
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:52.