<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-03-20 11:35 GMT+00:00 Manlio Perillo <span dir="ltr"><<a href="mailto:manlio.perillo@gmail.com" target="_blank">manlio.perillo@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>L'idea è che postgresql usa un processo per ogni connessione, mentre in Go useresti una goroutine.</div></div></div></div></blockquote><div><br></div><div>+1</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div></div></div><div class="gmail_extra">Un uso di fork molto utile/comodo, IMHO, è quello che ne fa redis quando effettua il dump del database su file.</div><div class="gmail_extra">Usando fork non ha bisogno di sincronizzare l'accesso al database, potenzialmente rallendando o bloccando eventuali lettori/scrittori.</div></div></blockquote><div><br></div><div>Gia'. Non mi sono chiare fino in fondo le implicazioni della scelta, tuttavia.</div><div>Quello che io mi aspetto, ma potrei sbagliare, e' che vai in COW, ma siccome il padre continua a fare modifiche (potenzialmente), hai lazy copy *effettiva*.  Il che vuole dire che potenzialmente potresti raddoppiare la RAM in uso (che tipo mi abbatterebbe la macchina per lo swap -- e tra l'altro oom killer potenzialmente potrebbe ammazzarmi il padre invece del figlio, cosa non gradevole). </div><div><br></div><div>Tra l'altro apparentemente usare huge_pages rende tutto piu' lento, cosa che non mi spiego.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">Anche la demonizzazione, non la vedo come una mancanza grave.</div><div class="gmail_extra">Con systemd, ad esempio, sembra non sia più necessaria.</div></div></blockquote><div><br></div><div>Come dicevo... e' tempo che non metto in produzione qualcosa che usa la sua auto-demonizzazione.</div><div>Pero' e' comunque un peccato. </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"></div><div class="gmail_extra">Sarebbe comodo se fosse possibile con clone di Linux, dire al kernel di non mappare nel processo figlio una certa regione di memoria,<br></div><div class="gmail_extra">ed usare questa regione per memorizzare tutte le variabili usate per la sincronizzazione.  Ma anche se fosse possibile, probabilmente gli sviluppatori di Go non la userebbero perchè aumenta la complessità.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Alla fine, comunque, credo che a Go manchi un nuovo tipo di "sistema" operativo, oppure per gli sviluppatori "sistema" significa Plan9</div><div class="gmail_extra">(su questo punto ho letto di molte critiche).</div><div class="gmail_extra"><br></div></div></blockquote><div><br></div><div>+1 </div></div><br clear="all"><div><br></div>-- <br><div class="gmail_signature"> .<br>..: -enrico-</div>
</div></div>