Nejlepší odpověď
Otázka: Co znamená 01001001 v binárním kódu?
Odpověď: V jakém kontextu?
01001001 zapnuto a IBM 360 je hex 49 nebo CH, což je porovnání polovičního slova opcode. Zadává se na kartu IBM jako úder 12–1–8.
01 001 001 seskupený jako osmičkový je 1 1 1, takže na CDC 600 by to bylo „A9“
V datech pole na Univacu by to byl znak „D“
Co je kontext?
Odpověď
Windows 10 již běží jako binární kód (stroj Jazyk). Byl sestaven ze zdrojového kódu (většinou C a C ++) až po strojový kód (binární) pomocí optimalizačních překladačů.
Takže, pak se otázka stává … může člověk (ve skutečnosti velký tým odborníků s gigantickým rozpočtem a spousta času ) přepsat Windows 10 od nuly v jazyce stroje a dosáhnout lepšího výkonu než jazyk stroje generovaný dnes používanými optimalizačními kompilátory?
Optimalizátory jsou v dnešní době velmi dobré – tak dobré, že může být obtížné najít vygenerovaný kód, který lze ručně optimalizovat, aby fungoval lépe a na stejné úrovni spolehlivosti. Mějte na paměti, že ve Windows 10 existuje zhruba 50 milionů řádků zdrojového kódu vysoké úrovně jazyka a každý z těchto řádků se může potenciálně přeložit do mnoha řádků jazyka sestavení a každý řádek jazyka sestavení se obvykle překládá mezi jedním a několika bajtů strojového kódu.
S ohledem na toto vše, pokud mluvíme o úplném přepsání operačního systému od nuly do strojového kódu, 99\% (nebo více) úsilí by nemělo za následek více efektivní strojový kód, takže část úsilí by byla zbytečná. A zbývající možné 1\% případů, kdy by kód mohl fungovat lépe, by vyšlo za astronomické náklady. A to je, pokud byste mohli najít dostatek odborníků s dostatečným porozuměním architektuře, aby občas napsali lepší kód, než jaký dokáže vygenerovat optimalizační kompilátor.
Pokud by se někdo (nebo nějaký tým) pokusil o tento úkol, správný přístup používat profilové nástroje k vyhledání úzkých míst vázaných na CPU v operačním systému, pečlivě se podívat na kód vygenerovaný kompilátorem a zjistit, zda by nějaké ruční vyladění kódu (nebo změna možností optimalizace kompilátoru) mohlo zlepšit výkon.
Od roku 1989 má Microsoft ve skutečnosti tým, který pečlivě analyzuje výkon různých komponent OS, hledá úzká místa a vylepšuje tyto oblasti.
To je správná cesta k optimalizovat software obecně: Ve skutečnosti měřte, hledejte úzká místa a podívejte se, co se s nimi dá dělat.
Pouhé přepisování celého obrovského softwarového produktu v jazyce nízké úrovně je obrovskou ztrátou času a zdrojů .