Report sviluppo 02/12/11 eMule AdunanzA 3.18
by , 2nd December 2011 at 11:32 (2876 Visite)
Salve gente! Siamo ormai in definitiva conclusione di sviluppo del ramo closed beta. L'ultimo aspetto che è stato trattato oltre ad una serie di bugfix consultabili dal dna: http://dna.adunanza.net è stato il nuovo stimatore di fonti, che di per se non ha subìto tante variazioni, quanto ottimizzazioni di vario tipo che vi elencherò di seguito.
Codice:kadavailability = sqrt((sqrt(NormalizzaStima(kadavailability, first, last))*kadavailability)); //fontiCodice:ckadavailability = sqrt((sqrt(NormalizzaStima(ckadavailability, first, last))*ckadavailability)); //fonti completeCodice:float NormalizzaStima(registerfloat avail, register uint32 from, register uint32 to) registerfloat norm_factor = COEFFICENTE_STIMA; //Anis -> Ottimizzazione avail = min(avail, 100000); if (avail > theApp.rm->kadFreshGuess_NoNorm) { if (to > from) norm_factor = (to - from)/theApp.rm->kadRepublishTimeK; else norm_factor = COEFFICENTE_STIMA; norm_factor = (norm_factor < theApp.rm->kadFreshGuess_Tol ? theApp.rm->kadFreshGuess_Tol : norm_factor); // We have a good number of publishes, but not high. // Low normalization is still suggested. if (avail < theApp.rm->kadFreshGuess_LowNorm && norm_factor > avail / theApp.rm->kadFreshGuess_LowNorm) norm_factor /= powf(avail/theApp.rm->kadFreshGuess_LowNorm, 0.5f); } if (avail > 2.f) avail /= powf(norm_factor, theApp.rm->kadFreshGuess_Weight); return avail; }
dove COEFFICENTE_STIMA è una define di tipo intero senza segno. Più è alto il suo valore, più basse saranno le stime. Chiaramente il valore è stato calibrato in modo millimetrico tramite varie formule inverse che ho applicato su carta.
Attualmente il suo valore è 2.
Ricordo che non si tratta di un nuovo algoritmo ma di un miglioramento dello stimatore di lupz (ex sviluppatore AduTeam), e rappresenta a tutti gli effetti la nuova versione dello stimatore di fonti di eMule AdunanzA, utilizzabile nell'imminente eMule AdunanzA 3.18 public beta.
Stima 3.16
Stima 3.18
![]()





