Paras vastaus
Kysymys: Mitä 01001001 tarkoittaa binaarikoodissa?
Vastaus: Missä yhteydessä?
01001001 päällä ja IBM 360 on hex 49 tai CH, joka on Vertaa puoli sanaa -koodia. Se on kirjoitettu IBM-kortille 12–1–8-boolina.
01 001 001 oktaaliksi ryhmitelty on 1 1 1, joten CDC 600: lla tämä olisi ”A9”
Univacin kenttätiedoissa tämä olisi merkki ”D”.
Mikä on konteksti?
Vastaus
Windows 10 on jo käynnissä binaarikoodina (kone Kieli). Se koottiin lähdekoodista (enimmäkseen C ja C ++) konekoodiin (binaariin) optimoivien kääntäjien avulla.
Joten kysymykseksi tulee … Voisiko henkilö (itse asiassa suuri asiantuntijoista koostuva joukkue, jolla on jättimäinen budjetti ja paljon aikaa) kirjoittaa Windows 10 uudestaan alusta konekielellä ja saavuttaa paremman suorituskyvyn kuin nykyisin käytettyjen kääntäjien tuottama konekieli?
Optimoijat ovat erittäin hyviä nykyään – niin hyviä, että voi olla vaikea löytää luotua koodia, joka voidaan optimoida käsin toimimaan paremmin ja samalla luotettavuustasolla. Pidä mielessä, että Windows 10: ssä on noin 50 miljoonaa riviä korkean tason kielilähdekoodia, ja jokainen näistä riveistä voi mahdollisesti kääntyä monille kokoonpanokielen riveille, ja jokainen kokoonpanokielen rivi kääntyy tyypillisesti yhden ja useamman välillä tavua konekoodia.
Kaikki tämä mielessä, jos puhumme käyttöjärjestelmän täydellisestä uudelleenkirjoittamisesta tyhjästä konekoodissa, 99\% (tai enemmän) työstä ei tuottaisi enemmän tehokas konekoodi, jotta osa vaivasta menisi hukkaan. Ja loput mahdolliset 1\% tapauksista, joissa koodi saattaa toimia paremmin, aiheuttaisi tähtitieteellisiä kustannuksia. Ja jos löytäisit tarpeeksi asiantuntijoita, joilla on tarpeeksi ymmärrystä arkkitehtuurista kirjoittaa ajoittain parempaa koodia kuin optimoiva kääntäjä voi tuottaa.
Jos joku (tai joku tiimi) yrittää tätä tehtävää, oikea tapa olla profilointityökalujen avulla etsimässä prosessoriin sidottuja pullonkauloja käyttöjärjestelmässä, katsomalla tarkasti kääntäjän luomaa koodia ja nähdkö, voiko koodin käsisäätö (tai muutos kääntäjän optimointivaihtoehdoissa) parantaa suorituskykyä. / p>
Noin vuodesta 1989 lähtien Microsoftilla on ollut tiimi, joka analysoi huolellisesti eri käyttöjärjestelmän komponenttien suorituskyvyn, etsi pullonkauloja ja tekee parannuksia näillä alueilla.
Se on oikea tapa optimoida ohjelmistoja yleensä: Mittaa, etsi pullonkauloja ja katso, mitä jokaiselle voidaan tehdä.
Pelkästään koko jättiläisen ohjelmistotuotteen uudelleen kirjoittaminen matalalla kielellä on valtava ajan- ja resurssihukka. .