Quindi, sono finalmente arrivato a un punto in cui mi sento abbastanza a mio agio con Python (usando Pyramid come framework di scelta) per intraprendere un progetto personale piuttosto ampio. Dato che si tratta di un progetto personale, ho il lusso di prendermi il mio tempo non avendo assolutamente scadenze diverse da quelle autoimposte.
Adoro imparare nuovi framework, linguaggi, ecc. quindi, se mi viene data una ragione, non mi dispiace tornare indietro sullo sviluppo per un mese o giù di lì mentre imparo un nuovo linguaggio e framework (richiede più tempo quando lo stai facendo il tuo tempo;)).
Recentemente ho appreso il GIL (Global Interpreter Lock) di CPython , che mi ha un po 'sollevato il sopracciglio. Se ho capito bene, questo significa che se ho una Queue
nella mia web app e ho dei thread che completano i lavori in coda, allora il codice è bloccato fino a quando il thread per quella richiesta non è completo, il che significa che qualsiasi richiesta successiva è bloccato mentre il thread precedente è in esecuzione.
Domanda:
Qualcuno nelle applicazioni del "mondo reale" ha riscontrato che questo è un problema? Vale la pena imparare una lingua che supporta la reale concorrenza fuori dalla scatola, come ad esempio Erlang? Sono più interessato a qualsiasi benchmark che qualcuno abbia mai fatto nelle app del mondo reale e indipendentemente dal fatto che qualcuno abbia notato problemi reali evidenti con GIL.