Citat:
filmil
Citat:
[...] Dakle, iz situacije gde ti znas da je binarni kod sigurno izvrsan na platformi X,
Pitam se da li bi se Nerov installer department složio sa ovom tvrdnjom.
Gadjali bi me ostrim predmetom (tj. kolega iz Beograda :-)
Sad, ja sam se pogresno izrazio - pod "platforma" sam mislio na CPU - tj.
Sa kompajlerom CL v1.0.0035 ti znas da radis na P4 IA-32 arhitekturi, jer to mozes da proveris u QA - naravno, ti ne mozes da znas 100% da li ce to raditi sa P4 IA-32 + ATI video karticom dok ne probas, ali - poenta moje price je da sa kompajliranjem sa nepoznatim kompajlerom ti samo uvecavas mogucnost greske (bez obzira sto mislis da je entropija i ovako i onako velika :-) tj. ubacujes mogucnost
i da taj kod ne proradi pod odredjenim CPU-om.
Fora je da kompatibilnost mikrokoda, tj. QA - radi onaj ko to najbolje zna - a to je sam proizvodjac procesora, pa mozemo svakoj kariki u lancu da dodamo jos jednu promenljivu - a to je pouzdanost (tj. obrnuto proporcionalno mogucnosti da dodje do s*anja).
Ne znam da li ces se sloziti (verovatno ne :-) ali ja bih licno, recimo, Intelovom QA dao vecu pouzdanost nego nekoj novoj verziji GCC kompajlera (ako mi neko pomene FDIV ima da ga gadjam ostrim predmetom :-) - tj. raspodela verovatnoce o uzroku baga je negde:
(pretpostavka je da ne postoje hardverski konflikti i da sve komponente rade po specifikacijama)
#1 - U tvom kodu
#2 - U 3pty bibliotekama (tu smatram i CRT)
#3 - U kompajleru
#4 - U OS kernelu
#5 - U mikrokodu procesora
Gde su po meni, ako su u pitanju moderni mainstream OS-evi (Win, Linux, Apple) #3 i #4 tu negde, mozda i obrnutih mesta.. mada ne bi bilo zgoreg naci neke konkretne statistike.
Dakle, ako znas da je kompajler ispravan - verovatnoca da greska dodje u #5 sa nekom novom platformom koja je binarno kompatibilna nije velika (ali ipak postoji) - sa binarnom verzijom softvera ti si fiksirao #2, #3 i ostaje samo #4 i #5 (#1 ne racunam :-)
Sa proizvoljnim kompajliranjem source-a ti fiksirane #2 i #3 "oslobadjas" i samo povecavas verovatnocu da nesto podje naopako kod korisnika .
Matematicki, ja mozda nisam u pravu - i to priznajem, davanje "tezine" ovim kategorijama je empirijsko i moze u jednom momentu da bude skroz pogresno (evo sad ja pominjem FDIV) - ali, mislim da
u praksi dolazi do upravo onoga sto ja pricam, a to ce svako ko je imao problema sa dependencies, u kompleksnim projektima reci - evo ja upravo pokusavam da prevedem potpuno korektan kod pod ARM GCC kompajlerom i dobijam neke skroz nenormalne greske, koje unapred nisam mogao da predvidim - pa ne verujem ni da bi setup skripta mogla da ih predvidi takodje?
Uvodjenje neke nove metode zadovoljavanja uslova koje ti predlazes moze biti resenje - samo prvo treba da vidis koliko kosta to resenje, i da li se uopste isplati - bez obzira sto je mozda bolje po nekoj drugoj kategoriji vrednovanja.
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos:
http://www.digicortex.net/node/17 Gallery:
http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! -
https://github.com/psyq321/PowerMonkey