[Python] TIOBE vs PYPL

Roberto De Ioris roberto a unbit.it
Gio 26 Dic 2013 09:54:00 CET


> On 25/12/2013 09:04, Nicola Larosa wrote:
>> Sapere di non sapere è importante, però bisogna trarne le dovute
>> conseguenze pratiche, altrimenti è come non saperlo.
>>
>>
>> Enrico Bianchi wrote:
>>> Tra l'altro, ad occhio, il modello di parallelizzazione con le
>>> goroutines di Go e` di tipo threading, o sbaglio?
>>
>> Sbagli.
>>
>
> Ma come!!!
> Le go routine **sono** thread, come tra l'altro viene scritto nei
> documenti che hai riportato.
>
> La differenza è che sono thread gestiti dal runtime di Go, con alcune
> proprietà che li rendono flessibili per la concorrenza (invece sospetto
> che non siano adatti per il parallelismo).
>

Di base e' cosi' (niente parallelismo), pero' puoi specificare tramite una
variabile d'ambiente (GOMAXPROCS) su quante cpu vuoi "spalmare" le
goroutine (che poi in realta' significa lanciare piu' pthread su cui lo
scheduler distribuisce le goroutine)

Questo ti permette di parallelizzare alcuni task.

Sono meglio dei pthread nativi ? boh.

Lo stile di go impone di usare i channel per passare informazioni tra una
goroutine e l'altra (internamente e' un classico mutex/condvar) che ha un
impatto rilevante (ma che comunque ti evita i disastri che si ottengono 9
volte su 10 con la programmazione multithread classica)

Lo goroutine sono thread ? per dare una risposta bisognerebbe capire cosa
si intende con "thread"...

-- 
Roberto De Ioris
http://unbit.it


Maggiori informazioni sulla lista Python