Posts

NEO Lemilica od 1800 dinara

Image
Imao sam lošu sreću sa Ersa lemilicom što sam pisao, ali nakon 3 sata lemljenja sa novom lemilicom doživeo sam još jedan peh, nažalost. No, ipak je vrh ostao dovoljno dobar da mogu nastaviti sa lemljenjem. Prosto neverovatno zar ne?   Imao sam više jeftinijih lemilica i oduvek sam znao da tu postoje problemi. Ili će vam se drška do te mere grejati da ćete morati isključiti lemilicu nakon sat vremena lemljenja ili će vam prosto pući vrh. Ili će prosto pregoreti kompletan grejač. Najbolje je odvojiti novac i kupiti Ersu ili neku lemilicu u rangu. Naravno to sve zavisi od toga koliko vremena provodite nad elektronikom i lemljenjem, servisiranjem i slično. Znači sve zavisi od posla, ali čak i da ste hobi varijanta pre treba odvojiti na nešto kvalitetnije i prosto  imati kvalitet , ali nema se uvek novca.    Već sam napisao blog na temu NEO lemilice pod nazivom Ćao zdravo Ersa imam novu lemilicu koja se zove NEO , kad eto ti ode i vrh NEO lemilice i to odmah posle 3 sata ...

Ćao Zdravo ERSA, Nova lemilica je NEO

Evo dugo nisam pisao blogove na temu elektronike i opreme za elektroniku. Takvo vreme neko došlo da se čovek bavi svim i svačim a zapravo nisačim, te na kraju shvatiš da jedeš samom sebi energiju. Sasvim dovoljno malo da se okreneš nekim svojim stvarima i staviš veštačku inteligenciju sa strane. Zapravo jasno jeste a nije, ali nisam od onih koji je na svoj website postavio AI kompatibilno ili Spreman Sam za AI. Prosto nisam hteo ništa da menjam vezano za AI jer ne znam šta da stavim. No, nije mi poenta da kritikujem druge već sebe. Evo i zašto. Prošle nedelje odem do radnje za elektroniku da kupim LED diode kako bih napravio svetlo koje se uključuje kada počinje da pada noć, i gasi kada se zora budi tj. sviće novi dan. Naravno, znam da nemam lemilicu tj. da je imam, Ersin Štap i da je vrh otišao, te da moram uzeti novi. Novi vrh je koštao 1400 dinara, sve zajedno sa dvadesed LED belih dioda 2200 dinara. Nije malo. Da uzeo sam i fotoćelije tj. foto-otpornike. Super! Sve je spremno. Stav...

Intel® Performance Counter Monitor - Meriti vreme ili oscilacije, koja je razlika? - Software engineering deep level optimization - uvod u merenje - VI deo

Image
Nastavljamo dalje sa programskim brojačima za merenje performansi programskog koda. U trećem delu o deep level optimizaciji (algoritamski + CPU ekstenzije) naveli smo da se zapravo koriste hardware-ski programski brojači integrisani u CPU jezgro. Prošli smo kroz primer da merenje sa START TIME i END TIME nije dovoljno dobro iz više razloga, o kojima možete pročitati u trećem delu. U ovom blog postu osvrnućemo se na Intel-ove programske brojače i njihovo rešenje. Intel PCM - Performance Counter Monitor Kako je materijal već dostupan na Intel-ovom web site-u, ovde ćemo navesti isključivo deo koji je nama potreban kako bi izmerili performanse dela koda od značaja, bilo da se radi o algoritamskoj optimizaciji ili optimizaciji korišćenjem CPU ekstenzija (MMX, XMM, SSE... - o tome smo već pisali u prvom delu , razlika između ANY CPU build-a, i ukoliko se koriste ekstenzije). Intel PCM hardware-ski brojači Na sledećem linku imate detalje o Intel-ovim programskim brojačima, klikni ovde . Sour...

Meriti vreme ili oscilacije, koja je razlika? - Software engineering deep level optimization - uvod u merenje - V deo

Image
Nastavljamo gde smo stali. Već smo pisali na temu merenja u prethodna četiri blog posta, i napomenuli da se meri zapravo broj oscilacija takta mikroprocesora , kako bih tačno znali koliko je zapravo potrebno procesorskog vremena da izvrši nama značajan programski kod. Postoje različiti profajleri za isto, međutim postavlja se pitanje u čemu je razlika? Da bi razumeli razliku između merenja vremena i merenja broja oscilacija takta procesora, potrebno je razumeti nekoliko koncepata, na osnovu kojih je baziran rad savremenih računarskih sistema. Boost mikroprocesorskog takta Dovoljno je za isto pogledati aplikaciju koja se naziva CPU-Z i pogledati u sekciju Clocks (core). U istoj sekciji možemo primetiti da postoji BUS speed (brzina magistrale računara) i MULTIPLIER (množilac). Oba parametra se menjaju u vremenu, na gore ili na dole. Ukoliko se parametri menjaju na veće vrednosti dobijamo takozvani BOOST mikroprocesorskog takta, te samo jezgro funkcioniše na većoj frekvenciji. BOOST se o...

Software engineering deep level optimization - uvod u merenje - IV deo

Image
Nastavljamo dalje sa merenjem te ovom prilikom prolazim kroz razloge zašto primenjena tehnika merenja prikazana u prošlom blog postu ( broj III ) nije tačna, te nam odokativno predočava koliko traje izvršavanje jednog dela programskog koda ili koda u celosti. Za analizu će se koristiti Concurrency Visualizer ekstenzija za Visual Studio. Programski kod Prvo ćemo napisati programski kod koji merimo. Dovoljno je koristiti for petlju koja ispisuje na konzoli Hello World!, jer ovde je zapravo poenta prikazati merenje, šta merimo i kako treba meriti koristeći Performance Counter-e umesto Start Date Time na početku izvršavanja main funkcije i End Date Time na kraju izvršavanja iste. Na screenshot-u dole prikazan je primer programskog koda koji se meri.   Programski kod koji se meri Preemption Quantum i Interrupts Koristeći Concurrency Visualizer za Visual Studio možemo grafički prikazati gde zapravo leži problem kod merenja ukoliko se ne koriste Performance Counter-i. Concurrency Profiler...

Software engineering deep level optimization - uvod u merenje - III deo

Nakon što se primene određene tehnike optimizacije software-a, performanse je potrebno izmeriti kako bi bili sigurni da je optimizovanje software-a uspešno završeno. Ono u šta moramo biti sigurni je do kog nivoa tačnosti i preciznosti moramo izvršiti merenje. Već sam napomenuo da se u slučaju deep level optimizacije (asm) brzina izvršavanja meri brojanjem ciklusa takta a u ovom blog postu ću pokazati prvo i zašto. Svakako, na početku ću proći kroz koncept rada računarskog sistema sa multi-threading operativnim sistemom koji se izvršava na jednom procesorkom jezgru, radi jasne slike zašto se broje clock ciklusi a ne meri sistemsko vreme, kako to mnogi developeri rade, radi dobijanja rezultata merenja, što je daleko od bilo kakve tačnosti i preciznosti merenja. Nakon toga u narednim blog postovima prikazaću hardware-ske brojače i kako se isti koriste i zbog čega (ovde je naravno jasno, uvek dodata hardware-ska jedinica integrisana u core mikroprocesora znači da ista ne zahteva vreme p...

Software engineering deep level optimization - INLINE tehnika optimizacije - II deo

Image
Nedavno sam krenuo sa pisanjem seta blog postova na temu deep level optimizacije te da nastavim sa istim. Kao što sam naveo u prvom blog postu, postoji više tehnika deep level optimizacije software-a, kako bi se što bolje iskoristio potencijal mikroprocesora i računarskog sistema generalno. Kompajleri, ključne reči kompajlera (koje nisu deo standarda programskog jezika već deo kompajlerskih komandi), setovi instrukcija, prevashodno ekstenzije van standardnog seta Intel instrukcija, su ključ za deep level optimizaciju. U ovom tekstu navodim prvu tehniku optimizacije koja se zove "inline" a svodi se na redukovanje korišćenja stack-a kao i optimizacije broja instrukcija koje treba izvršiti, te se jedan deo posla prepušta kompajleru. Tehnika optimizacije zvana INLINE Sam naziv tehnike deep level optimizacije je logičan, u trenutku kada shvatite koncept optimizovanja software-a ovom tehnikom. Ključ inline optimizacije je zaobilaženje stack-a i samim tim redukovanje broja instrukc...