Suurimad kitsaskohad Androidi allikast loomisel

Huvitav, milliseid kitsaskohti AOSP projekt tekitab? Dan jagab oma avastusi, mis võivad lugejaid üllatada selle osas, mis põhjustab ja mis ei põhjusta pudelikaela.

Värskendus 19.04.12 CT: Selgitatud ehitusajad on vahemälu ehitamise ajad.Värskendus 20.04.09:17 CT: Järk 3 ei olnud kindlasti RAID 1. Parandas selle vea.

2012. aastal hakkasin kerneleid ehitama ja toetusin selle ehitamisel oma usaldusväärsele Core 2 Quad Q9550-le. Kui see ei väärinud pahameelt, siis tõsiasi, et tegin seda Windowsi virtuaalses masinas, tagab selle tõenäoliselt enamiku inimeste jaoks, kes loovad Androidi lähtekoodist.

Virtualiseeritud Ubuntu keskkond ei tööta nii hästi kui algkeskkond ja oi, kui valus see ilmnes, kui kerneli ehitamine võttis üle 2 tunni. Kuna tahtsin järgmisel aastal hakata Androidi allikast ehitama, teadsin, et mu praegune riistvara seda ei tee lõigas selle – ja nii algas pikk ja ikka veel jätkuv teekond, et leida viis, kuidas seda pidevalt kasvavat ehitust vähendada aega.

Pärast seda on mul olnud õnn testida mitmel vormiteguril ja platvormil. See on oluline, kuna koostamise konfiguratsioonid ei sobi Androidi puhul kõigile. Rakenduse arendaja ei pruugi vajada sama konfiguratsiooni kui mänguarendaja. Ja keegi, kes ehitab ainult tuumasid, ei pruugi vajada nii palju kulutusi kui see, kes peab väga lühikese aja jooksul allikast koostama täieliku Androidi ROM-i. Ja kuidas on lood operatsioonisüsteemi valikuga – mida saab (ja mida ei saa) praegu kasutada? Loodan ka seda rohkem uurida, eriti koos

Windows ja Canonical töötavad selle nimel, et tuua Windows 10-sse täieõiguslik Bash.

Selle sarja õigeks käivitamiseks peame leidma, kus on suurimad potentsiaalsed kitsaskohad AOSP-projektide allikast ülesehitamisel. Me ei osta sageli arvutit või versiooniuuendusi, teadmata, kuhu oma raha panna. Seega olen kolmeaastase uurimistöö ja mõõdetavate tulemuste põhjal valmis jagama seda, mida olen leidnud. Nüüd oodatav lahtiütlus: need leiud põhinevad isiklikel kogemustel ja ei saa arvesse võtta kõiki kombinatsioone. Need, kellel on oma ehituse konfiguratsioon, andke meile teada, kuidas teie ehitustel läheb! Ajad viitavad ka ehitustele, kus ccache on lubatud ja asustatud – tavaliselt oli see kahekordne, kui ccache polnud veel täidetud.

Ketta I/O: Pean Cyanogeni Tom Marshallile kübaraotsa andma - ka a Team Kangi liige - selle eest, et juhtisite mind eelmisel aastal selles suunas. Ma ausalt öeldes ei uskunud teda, kui ta mulle ütles, et see nii läheb a kitsaskoht protsessori kohal. Kuid viimase 6 kuu jooksul olen suutnud seda kvantifitseeritavate andmetega kinnitada. Kõrgema klassi protsessorites (nagu enamik Intel Core i7 lauaarvutite mudeleid) on see teie süsteemi suurim kitsaskoht.

Võtame 4 ehituse konfiguratsiooni, mille peal olen seda testinud. Toon siin esile CPU,

  • Build 1, minu "täiendamata" arvuti, oli Intel i7-4790K 32 GB DDR3-2400 muutmäluga, Samsung 840 Evo 250 GB minu põhidraivi jaoks ja vanem Micron P400E 100 GB.
  • Järk 2, mis oli 1. järgu täiendatud versioon. Nüüd on kaasas Intel i7-5960X, mis on kiirendatud 4,0 GHz-ni, 32 GB DDR4-3200 muutmälu, Samsung SM951 512 GB AHCI m.2 SSD koos kahe eelmise SSD-ga. Selle täielikud ehitusspetsifikatsioonid on PCPartPickeris.
  • Järk 3, hiljutine kasutajate versioon, sisaldas 4,2 GHz-ni kiirendatud Inteli i7-5820K, 16 GB DDR4-2400 ja kahte Samsung 840 EVO 120 GB RAID0 (triibulise) konfiguratsioonis.
  • Järg 4, hiljutine serverijärg, mis sisaldab tavakiirusel Intel Xeon E3-1270 v5, 32 GB DDR4-2133, Samsung 950 Pro 512 GB NVMe m.2 ja 4 SATA Samsungi ettevõtte SSD-d RAID5 massiivi.

Kui te lihtsalt neid vaataksite, siis milline neist saavutas teie arvates väikseima ehitusaja? Kuidas oleks teisega? Minu üllatuseks ei võtnud see teine ​​konfiguratsioon kõige vähem ehitusaega – see oli kolmas konfiguratsioon, kell veidi alla 14 minuti CyanogenMod 13.0 ehitamiseks. Nii et domineeriv CPU võtaks kindlasti teise koha, eks? Jälle valesti. Järk 4, mille testimise just lõpetasin, võttis veidi üle 25 minuti! Ainult siin on minu praegune ehitus – 2 minutit aeglasem kui süsteem, millel on pooled südamikud ja niidid, kuid kolmest SSD-st koosnev SSD massiiv, samas kui minu SSD-d olid eraldiseisvad. SM951-l on teadaolevalt ka probleeme gaasiga, kui see liiga kuumaks läheb, mis võib sel juhul olla väga oluline tegur. Esimene ja kõige aeglasem ehitamine võttis aega umbes 30 minutit, üks ainukesi kordi, mil olin CM 13.0 ehitanud; Olen kuulnud sarnastest ehituskonfiguratsioonidest, mis teevad seda 27. aastal.

SSD-sid oli varem ka raske hankida, nii et sellel teemal arutati väga vähe. Viimase aasta jooksul on hinnad aga järsult langenud nii jae- kui ka kasutatud asjade turgudel. Kuna 120 GB SSD-d on nüüd alla 50 dollari, pole see takistus, mis kunagi oli süsteemile selle lisamine. Selle töö teevad ära ka traditsioonilised kõvakettad, kuid kui SSD-sid ei kasutata, jõuavad kasutajad selle kitsaskohani enne teisi.

CPU unerežiimPROTSESSOR: Kui ma eespool mainin, et peamine kitsaskoht on ketta sisend/väljund, siis eeldatakse, et see ei pruugi alati nii olla – kõik need versioonid, mida ma kasutasin, sisaldasid Intel Core i7. Kuid nagu ma Xeoni serveriga leidsin, hoiab ketas kursis, kuid hoiab seejärel kõik 8 protsessori lõime kõrgel koormatud kõige raskemate ehitusprotsesside kaudu. Ja proovin, kuidas ma suudan, ilma ülaltoodud RAID-massiivita ei leia ma, et mu Haswell-E oleks enamiku ehitusprotsesside jaoks peaaegu täielikult ära kasutatud. Nii et kui otsite oma ehitusraha jaoks parimat paugu, kaaluge Intel i7-5820K.

Tõsi, see on X99 ja seega võib emaplaat olla kallim kui Z97 emaplaat; kuid me oleme endiselt ka X99 tsükli esimeses aastas. Ka Broadwell-E hinnad jäävad avaldamisel sarnaseks Haswell-E-ga, mis tähendab seda teil peaks olema võimalik osta entusiastide segmenti peaaegu sama hinnaga kui i7-4790K või i7-6700K.

Inteli puhul pole praegu palju põhjust 5820K-st kaugemale minna, kuna sellega saate saavutada muljetavaldavad ehitusajad. Suurem osa allolevast tuumade/lõimede arvust koos protsessori kiirusega tagab suurema ehitusaja. Eelmisel aastal GIGABYTE Brixis olnud i7-4770R ehitas mul keskmiselt 42 minutit. Kuigi see polnud kõige kiirem, sobis see siiski minu vajadustega ja võimaldas mul kasutada spetsiaalset vähese energiatarbega konfiguratsiooni. Sama leiate ka AMD APU-dega – kuigi need ei pruugi praegu nii hästi toimida kui nende Inteli kolleegid, saavad nad töö hõlpsalt tehtud ja tavaliselt madalama hinnaga kui Inteli ostes. Ma jälgin seda olukorda tähelepanelikult, sest kui kuulujutud vastavad tõele, võivad Zen-põhised APU-d selle tühimiku märkimisväärselt vähendada.

Neile teist, kes otsustaksid need kitsaskohad kõrvaldada, on tulemus, mis puudutab rohkem kodukasutajaid kui kontorit. Nende kitsaskohtade kõrvaldamisega paraneb süsteemi üldine jõudlus. Eelkõige mängijad avastavad, et nende kitsaskohtade lahendamiseks uuendamine suurendab peaaegu kõigil juhtudel ka mängu jõudlust. Kuigi see ei võitnud kõige kiiremat ehitusaega, valmistas see teine ​​ehitamine ootamatu üllatuse – 30-sekundiline laadimisaeg Lihtsalt põhjus 3 kui paljud teised kaebasid laadimisaegade üle minutites. Lõppkokkuvõttes on need ehitusajad tõesti kõrgetasemelised ja võivad paljude jaoks olla üle jõu käivad... kuid vähemalt nüüd on lõpuks vaikinud argument, et rohkem südamikke tähendab kiiremat ehitamist.

Kuna see on alles algus, loodame, et lugejad löövad kaasa ja jagavad oma ehituskogemusi erinevates konfiguratsioonides. Kas soovite lugejana näha rohkem arutelusid seda tüüpi teemadel? Heli allolevates kommentaarides!