banjalukaforum.com

Dobrodošli na banjalukaforum.com
Danas je 05 Jun 2024, 15:43

Sva vremena su u UTC [ DST ]




Započni novu temu Odgovori na temu  [ 29 Posta ]  Idi na stranicu Prethodni  1, 2
Autoru Poruka
 Tema posta: Re: For petlja?
PostPoslato: 06 Nov 2012, 00:37 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 03 Maj 2008, 10:50
Postovi: 6643
Kompajler nema veze sa samim izvođenjem koda, on samo iz izvornog koda proizvodi mašinski kod koji procesor može izvoditi, kompajler ne kompilira danima nego mu za prosječan program treba par sekundi da ga kompilira. Jedan prosječan program jako rijetko sam optereti procesor 100%, tj. u većini slučajeva procesor ne posvećuje sve svoje vrijeme izvođenju samo jednog programa. Npr. ako startuješ program sa petljom i pogledaš u Task Manager, vidjećeš da odgovarajući proces ne opterećuje procesor 100%. Ako je prikazano opterećenje recimo 5%, znači da u jednoj sekundi 50 milisekundi procesor posveti izvođenju petlje. Ostatak vremena posveti internim administrativnim poslovima (servisima kpji rade u pozadini, izgubljeno vrijeme dok šalta između procesa, itd.). Tako je u svim multi-tasking sistemima.

Zato sam govorio o idealnim uslovima, tj. gdje samo jedan proces 100% opterećuje procesor. A u konkretnom slučaju mora se uraditi ekstrapolacija, izvedeš par puta milion prolaza petlje, nađeš prosjek potrebnog vremena i onda ekstrapoliraš.

_________________
You smug-faced crowds with kindling eye
Who cheer when soldier lads march by,
Sneak home and pray you'll never know
The hell where youth and laughter go.


Vrh
 Profil  
 
 Tema posta: Re: For petlja?
PostPoslato: 06 Nov 2012, 00:43 
OffLine
Bič božji
Bič božji
Korisnikov avatar

Pridružio se: 16 Jul 2004, 12:09
Postovi: 10379
Hristov je napisao:
Kompajler nema veze sa samim izvođenjem koda, on samo iz izvornog koda proizvodi mašinski kod koji procesor može izvoditi, kompajler ne kompilira danima nego mu za prosječan program treba par sekundi da ga kompilira. Jedan prosječan program jako rijetko sam optereti procesor 100%, tj. u većini slučajeva procesor ne posvećuje sve svoje vrijeme izvođenju samo jednog programa. Npr. ako startuješ program sa petljom i pogledaš u Task Manager, vidjećeš da odgovarajući proces ne opterećuje procesor 100%. Ako je prikazano opterećenje recimo 5%, znači da u jednoj sekundi 50 milisekundi procesor posveti izvođenju petlje. Ostatak vremena posveti internim administrativnim poslovima (servisima kpji rade u pozadini, izgubljeno vrijeme dok šalta između procesa, itd.). Tako je u svim multi-tasking sistemima.


Ti uporno navalio na izvodjenje koda, ja uporno pricam o zauzecu koje kompajler ostvari dok kompajlira, zaboravi na izvodjenje tog istog koda. Bilo to 3 sec, 3 minuta, 3 sata, ili 3 dana, to je nebitno.

Ja koristim program koji emulira Cisco-ov IOS, i bez dodatnog fine tunninga, program radi na 95-100% zauzetosti procesora, tako je bilo na starom HT 3.0 Pentiumu, tako je i sada na AMD X4. Dakle pricamo o apsolutnim vrijednostima, ne o relativnim.

_________________
Viva Elena, Viva Nicolae!


Vrh
 Profil  
 
 Tema posta: Re: For petlja?
PostPoslato: 06 Nov 2012, 00:56 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 03 Maj 2008, 10:50
Postovi: 6643
Ala zbrke. Ne znam kako si umiješao kompajlere u svu tu priču, a to sa emulatorom i opterećenjem je razumljivo kad uzmeš u obzir da mora da simulira multi-tasking i upravlja sa možda nekoliko stotina ili hiljada virtuelnih procesa, subprocesa i petlji. To je slučaj kod većine servera

Odoh spavati, odgovorim sutra naveče na eventualnu repliku.

_________________
You smug-faced crowds with kindling eye
Who cheer when soldier lads march by,
Sneak home and pray you'll never know
The hell where youth and laughter go.


Vrh
 Profil  
 
 Tema posta: Re: For petlja?
PostPoslato: 06 Nov 2012, 01:15 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 28 Mar 2012, 16:14
Postovi: 3161
Lokacija: Ratio, Logic
AIV je napisao:
Citiraj:
Jel moguce da sam dobio da ce se izvrsavati 600 miliona sati?

Citiraj:
Dobio sam oko 2600 godina, tako da nema smisla da se program ikad izvrsi, Bog zna kakve bi rezultate mogao da da...

Ovo dvoje su različite cifre. Kako si to dobio?

Ako procesu dostupiš 70% procesorskog resursa,
u zavisnosti od komplikovanosti (u najjednostavnijem slučaju da ispisuje ili vraća sljedeći redni broj) petlje će trebati manje od 7 dana (~140 sati)?

_________________
-A Tpojke su Đuro šta?
-Osnovne jedinice diverzantskih grupa.
Slika


Vrh
 Profil  
 
 Tema posta: Re: For petlja?
PostPoslato: 06 Nov 2012, 08:59 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 08 Okt 2003, 12:10
Postovi: 2552
Lokacija: Banja Luka
Hristov je napisao:
... Jedan prosječan program jako rijetko sam optereti procesor 100%, tj. u većini slučajeva procesor ne posvećuje sve svoje vrijeme izvođenju samo jednog programa...

Ti kao da nikad nisi čuo za Adobe Flash Player/Plug-in?! Ili bar nikad nisi upoznao nekog ko je na FarmVille-u dnevno provodio onoliko vremena koliko CR7 na treningu?! :lol:

_________________
dejo the best - professional


Vrh
 Profil  
 
 Tema posta: Re: For petlja?
PostPoslato: 06 Nov 2012, 13:13 
OffLine
Majstorski kandidat
Majstorski kandidat

Pridružio se: 15 Feb 2010, 21:45
Postovi: 483
Sa 5 linija koda, mozda i manje napravis programcic koji ce zauzimati 100% procesora i skoro sav ram, barem kod mene :)


Vrh
 Profil  
 
 Tema posta: Re: For petlja?
PostPoslato: 06 Nov 2012, 13:18 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 28 Mar 2012, 16:14
Postovi: 3161
Lokacija: Ratio, Logic
Pitanje je šta je u tih 5 linija.
Ja sam uzeo 70% procesora sa rezervom prema ostalim procesima na mašini.
Nisi odgovorio na pitanje kako si došao do perioda od 68 i/ili 2600 godina.

_________________
-A Tpojke su Đuro šta?
-Osnovne jedinice diverzantskih grupa.
Slika


Vrh
 Profil  
 
 Tema posta: Re: For petlja?
PostPoslato: 06 Nov 2012, 15:59 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 03 Maj 2008, 10:50
Postovi: 6643
Kao sto rekoh, jedan proces SAM ne moze konstantno tokom izvodjenja u multitasking sistemima da dobije 100% procesorskog vremena, znaci uvijek su tu i neki drugi procesi koji rade u pozadini. Vecina procesa se veci dio vremena nalazi u stanju cekanja (idle-state), znaci ne izvode nikakve operacije i ne opterecuju procesor, tako da procesor moze da posveti vise svog vremena procesu koji non-stop nesto radi (poput petlje). Ali u multitasking sistemima sa jednim procesorom se ne moze dobiti 100% procesorskog vremena, moze biti blizu ali nikada 100%. Kad vidite da je opterecenje procesora 100%, znaci da ga svi procesi zajedno opterecuju 100%, a ne jedan jedini proces.

Neka startujem npr. jedan program sa ovakvom petljom:
Kod:
while(true)
{
   ;
}

Ovaj blok koda ne daje procesoru predaha, ali ako pogledate koliko procesora zauzima taj program, nece biti 100%, medjutim ukupno opterecenje procesora bice 100%.

Ako startujete vise instanci tog programa sa petljom, vidjecete da svaka instanca zauzima jos manje procesora mjereno u procentima, to je zato sto procesor raspolozivo vrijeme mora da podijeli na vise instanci programa. Ukupno opterecenje procesora bice i dalje 100%.
Ako samo jednoj instanci tog programa povecate prioritet, vidjecete da on zauzima vise procesorskog vremena nego ostale instance, ali nikad 100%, medjutim ukupno opterecenje procesora bice i dalje 100%

_________________
You smug-faced crowds with kindling eye
Who cheer when soldier lads march by,
Sneak home and pray you'll never know
The hell where youth and laughter go.


Vrh
 Profil  
 
 Tema posta: Re: For petlja?
PostPoslato: 06 Nov 2012, 17:15 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 28 Mar 2012, 16:14
Postovi: 3161
Lokacija: Ratio, Logic
Dok bi možda multi-core procesor mogao da odredi jednom jezgru 100%-tno odrađivanje petlje.

_________________
-A Tpojke su Đuro šta?
-Osnovne jedinice diverzantskih grupa.
Slika


Vrh
 Profil  
 
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Odgovori na temu  [ 29 Posta ]  Idi na stranicu Prethodni  1, 2

Sva vremena su u UTC [ DST ]


Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 1 gost


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
Powered by phpBB® Forum Software © phpBB Group
Hosting BitLab
Prevod - www.CyberCom.rs