Šta je novo?

Poredjenje performansi compile-a za razne generacije i tipove procesora

alfaunits

Znamenit
Učlanjen(a)
24.06.2006
Poruke
44,724
Poena
1,365
Gile i ja smo proceli probu raznih generacija Lenovo W/P radnih stanica, i koliko je koja brza (ili identicna) za compile. U pitanju su i7 quad/six core varijante sa SATA3/NVMe SSDovima.
All contributions appreciated ili ti zahvaljujemo ako neko moze da izdvoji vreme i doda rezultate svoje konfiguracije ;)

Ako je neko voljan da doda druge procesore i konfiguracije (najvise je bitan CPU, ali posle toga i pomalo HDD/SSD), evo kako da se isproba:
- skinite WDK 7.1 (ne druge verzije da bi bile identicne stvari poredjene) sa MS sajta: https://www.microsoft.com/en-us/download/details.aspx?id=11800
Instalirajte gde zelite. Dovoljno je da instalirate "Build environments" i "Samples". Ostalo nije bitno, niti potrebno.
- skinite http://www.alfasp.com/timer.7z (najprostija timer aplikacija za merenje trajanja nekog taska iz Command prompt-a, ja sam je pisao odavno u Delphi-u).
ili koristite neki vas app, ako ne zelite skinuti "random" aplikaciju. Bitno je da JAKO precizno (u sekundu) mozete izmeriti koliko ce trajati proces kompajlovanja.
REBOOT. Bitno zbog cache-a.

Kada se instalira WDK, otvorite x64 Build environment (otvorice vam Command Prompt i bicete u C:\WinDDK folderu verovatno). Udjite u C:\WinDDK\xxxx, gde je xxx verzija WDK-a koji ste upravo instalirali (postoji samo jedan folder, ako vec niste radili razvoj drajvera :)).

Ceo test (compile) treba da radi koji minut najvise. Toliko traje kod mene na Nehalem i7-740QM, koji je prilicno mator CPU danas.


Sledece dve situacije vas molim da isprobate, kada udjete u C:\WDK\xxxx folder:
- Prvi test je zero-caching, i zero-build-done, znaci kada nisu uopste kesirani fajlovi, niti je ista napravljeno. Ovo mozete iskljucivo jednom uraditi, nakon instalacije samog WDKa, posle toga se napravi gomila fajlova.
Pokrenite "timer build -ceZ" (u folderu C:\WDK\xxxx). Timer je app koji meri koliko traje neki task. Koristite link koji sam dao, ili neki svoj, svejedno dokle god je precizno merenje.
Zapisite koliko je trajao ceo compile

Medjukorak: pokrenite (u istom Command Promptu): "build -c0 -C0". Ovo ce pobrisati vecinu napravljenih fajlova, da bismo mogli sledeci korak. Trenutno je podosta stvari kesirano (ako imate barem 4GB RAMa).

- Drugi test mnogo manje zavisi od SSDa, i bitno je da se odradi odmah nakon prvog testa, bez reboota, da bi (skoro) sve bilo vec kesirano:
"timer build -ceZ" (isto kao u prvom testu)
Zapisite rezultat i javite ga ovde.
 
Tips: ukoliko neka od pomenutih "build" komanda traje krace od 5 sekundi, nesto nije dobro :)
Download je za ISO file. Nebitno je da li ga raspakujete za install, ili koristite Mount iz UltraISO ili slicnih Daemona..
"build -c0 -C0" moze javiti greske, nisu bitne.
Screenshots sam stavio da se vidi kako izgleda output Timer.exe-a, nije neophodan, ako rezultati nisu previse nelogicni :)
build -ceZ je fully multithreaded process i urnise CPU :)

Evo za pocetak vreme za "matori" Sony VAIO sa i7-740QM (1.7Ghz base, 1.8GHz Turbo za sva 4 jezgra :D) i SanDisk Ultra II SSDom (SATA 3, 1TB):
- osnovni "build -ceZ": 81.36sek
- cached "build -ceZ" nakon partial-cleanup (build -c0 -C0): 80.65sek
 

Prilozi

  • Build_Osnovni.jpg
    Build_Osnovni.jpg
    113.4 KB · Pregleda: 116
  • build_cached.jpg
    build_cached.jpg
    280.4 KB · Pregleda: 114
osnovni: Execution time: 47.41 seconds.
cached: Execution time: 45.98 seconds.

i7-6700K na 4.6GHz + Samsung 960 Pro 512GB
 
Koliki vam je SRC folder nakon build -ceZ? Kod mene izadje 711 MB (746,067,445 bytes)

Fin rezultat za 6700K, mada sam ocekivao dosta brze.
 
Alfa, u cemu je ovde problem kod x64?
Inace i7-4790 sa Samsung 750 Evo

Capture.JPG
 
Poslednja izmena:
Nista, to je taj output. To su oba na istoj masini??
 
Jap, stim da mi na x86 uvek slican rezultat, dok kod x64 jako varira, od 80 sec pa do preko 110...
 
Poslednja izmena:
Zavisi od kesiranja.

Moram da proverim sta je sa mojom instalacijom, nema sanse da nehalem na 1.7 radi isto kao i7-4xxx.
 
Instalirao sam skroz od pocetka WDK. Izgleda da nisam imao fresh.
Fresh install, velicina SRC foldera: 84.6 MB (88,710,946 bytes) (znaci pre ikakvih proba)

Jeste koristili x64 Free ili x64 Checked?
x64 Free Drugi test: 100sek
Nisam reboot, pa cu to malo kasnije probati Prvi test.
x64 Checked Drugi test: 90sek.

Ima li neko NVMe SSD?

Size posle oba testa: 1.25 GB (1,351,951,871 bytes)
Ali to je i Free (release build) i Checked (Debug) kada su tu.

Nije mi bas jasno ipak da i7-740QM moze da radi otprilike isto kao i7-4790 (kod Duke-a).
Lukija, OCovan ti je 6700K na 4.6? Na koliko je Turbo onda?
Trebao bi brze ipak od toga.
@Duke, kod tebe ce biti razlika u velicini, jer si poreknuo i x86 i x64 Free.
 
Poslednja izmena:
Dajte neki cross platform projekat da testiramo. Kod mene je i9 7900x sa Centos 7. Nemam Windows na toj mašini niti planiram.

Sent from my Pixel 2 XL using Tapatalk
 
Ja sam koristio x64 Checked. Sto se tice procesora, 4.6GHz je na svim jezgrima kada se CPU optereti. SSD je NVMe. E sad, gledao sam malo CPU zauzuece i drzi ga on na skoro 100% mada ne uvek. Koliko sam video, build samo spawnuje gomilu cmd -> nmake -> cl ili link procesa. Da li postoji nesto tipa make clean?

@yooyo
Recimo Qt?
http://doc.qt.io/qt-5/windows-building.html

MingGW se lako instalira.
 
Poslednja izmena:
Najblize nmake /clean je build -c0 -C0, ali nema full cleanup :( ja koristim batch file.
 
Sve obrisao i ponovo instalirao, src je 88 MB.
Pokrenuo svezi x64 Checked, 79 sec i src je 1,37GB
 
I mene ovo bas interesuje ali sam ja na Linuxu (Fedora) pa ne mogu da probam. Hajde da izaberemo neki multi platform projekat.
 
Kako je počelo sa silnim procesorima i jezgrima, možda ovo bude zamena za cinebench:

https://opendata.blender.org/

Jedino što duže traje i navodno, ljudi su prijavljivali da nešto brže radi na linux-u.
 
Mogli bi posebna tema za multiplatform, jer on ce uzeti u obzir i kako je compiler pravljen za koji OS, ne samo CPU/SSD.

Duke, mnogo je to sporo, da ti nije throttled CPU? Pocetna velicina je dobra, krajnja otprilike, ali malo veca (da ne gledas Size on disk, a ne Size of data?).
 
Pa valjda znam da pogledam velicinu jednog foldera sunce mu :)
I kad odvrtim x86 i x64, imam oko 3,7 GB. Nema usporavanja i ne znam zasto mu treba toliko, u igrama i ostalim casual aktivnostima nikakav problem nisam primetio.
Enivej, batalio i obrisao...
 
x86 Free i x64 Checked (znaci dve) i SRC folder je 3.7GB?
Ovo izgleda nije konzistentan test :)
 
Duke, Luki, koji OS ste koristili W7 ili W10?
 
W10
 
Osnovni build "timer -ceZ": - 71.24 seconds
Cached build "timer -ceZ": - 65.33 seconds

Ryzen R5 1600, 3.2GHz -> 3.4GHz turbo tokom compile. 16GB ram-a, 2.4GHz, 850EVO Samsung M2 - sata mod rada, nije NVME.
 
Nazad
Vrh Dno