Legjobb válasz
Kérdés: Mit jelent az 01001001 bináris kódban?
Válasz: Milyen kontextusban?
A 01001001 be van kapcsolva, az IBM 360 pedig hexa 49 vagy CH, amely a Half Word összehasonlítása opkód. Az IBM kártyán 12–1–8 lyukasztóként van megadva.
01 001 001 Oktálként csoportosítva 1 1 1, tehát egy CDC 600-on ez „A9”
Az Univac terepi adataiban ez lenne a „D” karakter.
Mi a kontextus?
Válasz
A Windows 10 már bináris kódként fut (gép nyelv). Optimalizáló fordítók segítségével állították össze a forráskódtól (főleg C és C ++) a gépi kódig (bináris).
Tehát akkor a kérdés az lesz: egy személy (valójában egy nagy szakértőkből álló csapat óriási költségkerettel és sok idő) átírja a Windows 10 rendszert a semmiből a gép nyelvére, és jobb teljesítményt ér el, mint a ma használt optimalizáló fordítók által generált gépi nyelv?
Az optimalizálók manapság nagyon jók – olyan jók, hogy nehéz lehet olyan generált kódot találni, amely kézzel optimalizálható a jobb teljesítmény és azonos megbízhatósági szint mellett. Ne feledje, hogy nagyjából 50 millió sor magas szintű nyelvi forráskód található a Windows 10 rendszerben, és ezek mindegyike potenciálisan lefordíthatja az összeállítási nyelv sok sorát, és az összeállítási nyelv minden sora általában egy és több közötti fordítást jelent bájt gépi kódot.
Mindezeket szem előtt tartva, ha az operációs rendszer teljes átírásáról beszélünk a semmiből a gépi kódban, az erőfeszítés 99\% -a (vagy több) nem eredményezne többet hatékony gépi kódot, így az erőfeszítések egy része pazarlódna el. És az esetek fennmaradó lehetséges 1\% -a, ahol a kód jobban teljesít, csillagászati költségekkel jár. És ha találna elegendő szakértőt az építészet kellő ismeretével ahhoz, hogy időnként jobb kódot írjon, mint amennyit az optimalizáló fordító képes létrehozni.
Ha valaki (vagy néhány csapat) megpróbálja ezt a feladatot, akkor a megfelelő megközelítés Profileszközök használatával keresse meg a processzorhoz kötött szűk keresztmetszeteket az operációs rendszerben, alaposan nézze meg a fordító által létrehozott kódot, és nézze meg, hogy a kód bármilyen kézi hangolása (vagy a fordító optimalizálási opcióinak módosítása) javíthatja-e a teljesítményt. / p>
Körülbelül 1989 óta a Microsoftnak van egy olyan csapata, amely gondosan elemzi az operációs rendszer különböző összetevőinek teljesítményét, szűk keresztmetszeteket keres és fejlesztéseket hajt végre ezeken a területeken.
Ez a helyes út optimalizálja a szoftvert általában: Valójában mérje meg, keresse meg a szűk keresztmetszeteket, és nézze meg, mit lehet tenni mindegyikkel kapcsolatban.
Egy egész óriási szoftvertermék alacsony szintű nyelven történő átírása hatalmas időpazarlást jelent .