Sto studiando i modi per rendere più efficiente il mio pacchetto di processi di richiesta di rete Python e mi sono interessato a persone come Go e Julia per il loro apparente supporto per la concorrenza e il modello di threading verde.
Mentre leggevo i thread a livello di utente, sembrava che quello che mi interessava fosse il threading a livello di kernel per sfruttare appieno l'architettura multicore e ridurre le penalità di cambio di contesto. Ma ora ho letto le informazioni in conflitto su quale modello di threading implica maggiori penalizzazioni di cambio di contesto.
Per essere chiari, attualmente ho circa 18 processi Python 2.7 che si attivano e che eseguono principalmente l'elaborazione legata alla rete su una scatola dual core. Questo mi sembra pesante, quindi guardo le lingue che supportano l'efficiente threading. Immagino che il cambio di contesto sia qualcosa che si applica solo nel caso di più processi (o forse si applica anche a thread di memoria condivisi?) Non è sicuro quindi quale sarebbe il tipo di threading più efficiente per un "superprocesso" per CPU che genera molti lunghi vivo (essenzialmente un pool di) piccoli thread legati alla rete all'avvio?