asoare_13
Vizitator
|
 |
« : Decembrie 02, 2004, 18:51:38 » |
|
Am si eu o intrebare simpla, la care nu vreau drept raspuns simple pareri... As vrea sa stiu si eu exact care este diferenta dintre timpul de executie al programelor in Pascal rulate in Windows si timpul de executie al celor rulate in Linux Dar as vrea un raspuns cu exactitate, daca se poate 
|
|
|
Memorat
|
|
|
|
•thecata
Strain
Karma: 15
Deconectat
Mesaje: 9
|
 |
« Răspunde #1 : Februarie 26, 2005, 11:31:08 » |
|
Diferenta dintre timpii astia de executie este de cele mai multe ori FOARTE mare, din cate bine ai observat pana acuma. :lol: Diferentele sunt din cauza urmatoare: dupa cum probabil stii, Windows este un sistem de operare pe 32 de biti (astea sunt detalii legate de arhitectura procesorului) (WinXP pe 64 de biti va aparea in curand). La fel si Linux (my personal favorite). Diferentele apar din cauza ca sub Windows, problemele se evalueaza folosind Borland Pascal/C++ care sunt programe de DOS, adica pe 16 biti. Simplul fapt ca Windows trebuie sa emuleze modul de lucru sub 16 biti reduce simtitor viteza de rulare. Si inca un mic detaliu: compilatoarele astea de al Borland sunt invechite; cele mai noi au mici optimizari si genereaza executabile (putin) optimizate. Linux nu are mod de lucru pe 16 biti. Compilatoarele folosite fpc (freepascal)/ gcc sau g++(pentru C) sunt direct pe 32 de biti, deci vor genera executabile care vor rula fara a intampina dificultati de genul emularii modului de lucru. Cat despre optimizarile facute la compilare...nu stiu diferentele. Eventual ai putea lua un program, sa-l rulezi in Borland Pascal/C++ si dupa aceea sa il compilezi si cu alt compilator (FreePascal / GCC care au variante si pentru Windows). Daca stai sa compari timpul de executie al unui program compilat cu freepascal sub Windows, respectiv sub Linux (deci vorbim de aceelasi program cu acelasi compilator, dar sub sisteme de operare diferite) banuiesc ca nu se vor simti diferente atat de mari (eventual sub Linux vor rula, din nou  , putin mai rapid, dar nu chiar asa de mult). Compilatoare pentru Windows (preluate de sub Linux) FreePascal: www.freepascal.org / www.sourceforge.net (dai un search acolo) GCC: aici nu stiu exact ce si unde, dar cauta cu google RHIDE, DJGPP sau pur si simplu GCC (e facut de FreeSoftware Foundation pentru proiectul GNU)
|
|
|
Memorat
|
|
|
|
•druid
Strain
Karma: 1
Deconectat
Mesaje: 27
|
 |
« Răspunde #2 : Februarie 26, 2005, 16:40:58 » |
|
Eu as recomanda MinGW - Minimalist GNU for Windows http://www.mingw.org. E o colectie de util-uri traditionale de Unix pentru windows si contine si compilatorul gcc/g++ pe langa multe altele. Daca iti pui in PATH directorul C:\MinGW\bin (sau unde l-ai instalat) e foarte usor sa compilezi din cmd prompt un progam si poti folosi editorul tau favorit pentru scrierea surselor (gcc bla.c / g++ bla.cpp si apoi ca sa rulezi scrii direct: a - fisierul generat daca nu specifici -o bla o sa fie a.exe ).
|
|
|
Memorat
|
|
|
|
•rgrig
|
 |
« Răspunde #3 : Februarie 26, 2005, 19:28:38 » |
|
Simplul fapt ca Windows trebuie sa emuleze modul de lucru sub 16 biti reduce simtitor viteza de rulare. AFAIK procesorul emuleaza modul de lucru "neprotejat", nu sistemul de operare.
|
|
|
Memorat
|
|
|
|
•svalentin
|
 |
« Răspunde #4 : Februarie 26, 2005, 19:47:55 » |
|
Pentru GCC: http://www.delorie.com/djgpp/zip-picker.htmlzip packerul pentru DJGPP; iti alegi ce vrei de la compilator si iti spune ce .zip-uri sa iti "instalezi". Instalarea e simpla: le dezarhivezi in direcotrul programului (ex: c:\DJGPP); singurul lucru mai <complicat> e sa setezi in enviromental variable (in winXP, 2k) sau in autoexec.bat (win98, 95, dos..) la variabila path si directorul compilatorului\bin si sa mai pui o variabila djgpp unda sa spui calea unde gaseste djgpp.env. (mai gasesti explicatia si pe site)
|
|
|
Memorat
|
|
|
|
•greco
|
 |
« Răspunde #5 : Februarie 26, 2005, 23:07:39 » |
|
DJGPP e aiurea rau... tre sa faci proiect nou ca sa scrii o sursa si alte tampenii din astea.. mie imi place Dev C++ trecand peste faptul ca periodic imi restarteaza pc-ul.
* Imi place in putinul timp pe care il petrec in Windoze. :lol:
|
|
|
Memorat
|
Jump in the cockpit and start up the engines Remove all the wheelblocks there's no time to waste Gathering speed as we head down the runway Gotta get airborne before it's too late.
|
|
|
•fbkk
Client obisnuit

Karma: -13
Deconectat
Mesaje: 72
|
 |
« Răspunde #6 : Februarie 26, 2005, 23:52:55 » |
|
PPl : 1. Linux vs Windows : Pe WINDOWS : dak ati stii un pic assembly ,ati shtii ca in Win exista 2 tipuri d executabile (fara scripturi (.bat)) shi anume .exe shi .com (probabil shtiati asta deja) ,dar ceea ce probabil nu shtiti este ca .com s-ar putea traduce ca (NU d la asta vine) Copy Of Memory ,anume : un fisier .com tine EXACT instructiunile p procesor ce se executa pe acesta.(d aceea toate windows-urile sunt "win.COM") Fisierele .EXE sunt de fapt nishte map-uri pentru shell(a se citi kernel)(da shi windows-ul are unul) de fapt ele contin instructiunile pentru procesor,dar shi resursele executabilului (iconite, bitmapuri,etc) ,antet (destul d mare ) despre model d mem, resurse, compozitie ,etc => inainte ca un fisier .EXE sa fie executat el trebuie prelucrat d win.com (care-ii incarca resursele ,aloca mem, seteaza prioritati shi alte vrajeli ) , mai ceva ca un script => ceva latente d procesare (mai ales la programele c folosesc resurse complexe d mem),acesta este un motiv , mai sunt shi altele(nu am nici timp nici chef sa le prezint pe toate).
Pe Linux: programele Linux contin un mic antet (care spune ca sunt binare executabile (MIME -type -ul)) shi cam atat, in rest sunt ceva gen .COM Kernelu le incarca direct in memorie(liniar) shi le acorda un fir d executie (isi fac ele mai multe dak au nevoie).
presupun ca un fisier .COM ar fi la fel d rapid (sau aproape)p windows ca shi p linux, dar chiar compilate cu acelasi fpc , executabilele sunt mai "incete" p Win decat p Linux.
2.Ca si compilator GNU C p Win, eu folosesc MinGW cu Dev-CPP care pare a fi un compilator puternic(multe firme (mici si mijlocii) isi compileaza programele cu el) ,NU mi-a restartat niciodata compu' (personal va recomand sa folositi cele mai noi compilatoare (au mai putine BUG-uri , de obicei)) shi e 100% compatibil cu C-ul d p Linux ,mai putin <conio.h> care nu shtiu sa existe p Linux.
Sper ca ati inteles ca ideea e ca Linux rulz ,shi in general tot ce e open-source e mai bun decat porcariile comerciale.
Sper ca nu v-am plictisit !!!
|
|
|
Memorat
|
No one should have to code the same thing twice !
|
|
|
•wickedman
|
 |
« Răspunde #7 : Februarie 27, 2005, 01:58:56 » |
|
Sper ca nu v-am plictisit !!!
ba da oricat de lipsite de header-e si alte porcarii or fi binarele de linux, oricum discutam de o diferenta de timp constanta. cui ii pasa ca mai asteapta 1e-4 secunde la inceput cand lanseaza un exe?
|
|
|
Memorat
|
|
|
|
•rgrig
|
 |
« Răspunde #8 : Februarie 27, 2005, 09:07:03 » |
|
cui ii pasa ca mai asteapta 1e-4 secunde la inceput cand lanseaza un exe? In orice caz, e o dovada clara ca open-source e mai bun decat programele comerciale  Sa nu ramana cineva cu impresia ca formatul executabilelor pe Linux e un fel de COM, cam asta e definita lui ELF (cel mai raspandit ABI): http://www.caldera.com/developers/gabi/latest/contents.html
|
|
|
Memorat
|
|
|
|
asoare_13
Vizitator
|
 |
« Răspunde #9 : Februarie 27, 2005, 09:43:43 » |
|
Am cam inteles ideea...multumesc pentru clarificare! Si eu fac parte din " I love LINUX" team, dar io nu prea stiu sa lucrez sub linux si in plus ... Windows e cel mai raspandit in toata lumea si toate softurile care se fac ( cele mai bune ) se fac pt windows. Asa ca, in afar de programare...sau chestii marunte, nu stiu ce s-ar mai putea face in linux :p
|
|
|
Memorat
|
|
|
|
•ParrAzitU
Client obisnuit

Karma: 0
Deconectat
Mesaje: 73
|
 |
« Răspunde #10 : Februarie 27, 2005, 13:36:34 » |
|
puh, pai orice.. Spre exemplu grafica.. La noi in oras de ex la liceul de arte fac grafica cu Gimp pt ca e free si nu trebuie licenta ca si la alea de sub windows unde costa o gramada de dolari.. Deci la noi in romania unde nimeni nu vrea licenta Linux e o solutie !
|
|
|
Memorat
|
I'll be smiling as I decompose - the reaper awaits us all.
|
|
|
•LordAnta
Strain
Karma: 2
Deconectat
Mesaje: 43
|
 |
« Răspunde #11 : Februarie 27, 2005, 13:41:22 » |
|
Asa ca, in afar de programare...sau chestii marunte, nu stiu ce s-ar mai putea face in linux :p daca tu consideri administrarea unui server pe baza de linux un lucru marunt sau late chesti care tin de retele si servere care se fac de 1000 ori mai bine decat pe windows atunci esti nebun!!!!!!!!
|
|
|
Memorat
|
Lord Anta, over and out!!!
|
|
|
•rgrig
|
 |
« Răspunde #12 : Februarie 27, 2005, 14:53:12 » |
|
Asa ca, in afar de programare...sau chestii marunte, nu stiu ce s-ar mai putea face in linux :p Cam orice. Uite un exemplu de aplicatie pe care probabil o folosesti zilnic: google. Oricum, eu zic ca e bine sa le folosesti pe ambele o perioada si apoi sa te hotarasti tu care iti place. Eu am folosit numai windows vreo 10 ani si abia acum vreo 2 ani am incercat linux; acum imi pare rau ca am pierdut atata timp: linux mi se potriveste _mult_ mai bine.
|
|
|
Memorat
|
|
|
|
•DeadStar
Client obisnuit

Karma: 2
Deconectat
Mesaje: 59
|
 |
« Răspunde #13 : Februarie 27, 2005, 15:56:22 » |
|
LordAnta.. trebuie doar sa ai un pic de balls la inceput si dupaia totul este super... Filme,muzica..tot merg.. m-am jucat si GTA.. Win  (sucks)
|
|
|
Memorat
|
|
|
|
•LordAnta
Strain
Karma: 2
Deconectat
Mesaje: 43
|
 |
« Răspunde #14 : Februarie 27, 2005, 16:08:37 » |
|
deatStart ai dreptate!!! Linux-ul ii tare!!! De cand am pus mana ptr prima data pe un Red Hat 7.0, nu mi-am mai luat mana de pe linux!!! Sub linux am pornit pana si mIrc-ul, chiar am lucrat si in FoxPro ptr Ms-Dos, Borland Pasacal 7.0,Borland C++ 3.1!!! O data ce te apuci de Linux mai greu te lasi de el  !!! Linux Rulz!!!! 
|
|
|
Memorat
|
Lord Anta, over and out!!!
|
|
|
•fbkk
Client obisnuit

Karma: -13
Deconectat
Mesaje: 72
|
 |
« Răspunde #15 : Februarie 27, 2005, 17:50:42 » |
|
oricat de lipsite de header-e si alte porcarii or fi binarele de linux, oricum discutam de o diferenta de timp constanta. cui ii pasa ca mai asteapta 1e-4 secunde la inceput cand lanseaza un exe? NU e timp constant ! Si NU e numai la pornire, intrgul sistem d alocare a mem p windows mi se pare cam dubios.!?! oricum MIE IMI PASA ( 1e-4sec/prog =100e-4sec/zi=36000e-4sec/an = 10e-4 ore/an !!!)  Shi voi care ati rulat "orice" p Linux : nu sunt de acord ca e o solutie sa rulezi un program cu Wine (mai ales un joc) ,nu ca nu ar merge la fel d bine (n-am incercat) ca p Win dar e aiurea sa foloseshti un emulator doar d dragu sa-l folosesti p Linux. Pentru ca (mai ales in ultimul timp) multe firme d soft au si distributii d Linux, (e.g.:Borland) shi exista echivalente pentru majoritatea softului Win pentru Linux.Majoritatea fiind mai bune (vezi BP 7.0 ,freepascal ). P.S.: Pentru jocuri(Win) mi se pare aiurea sa foloseshti Linux.(Iti instalezi un Win shi te joci ! )
|
|
|
Memorat
|
No one should have to code the same thing twice !
|
|
|
•rgrig
|
 |
« Răspunde #16 : Februarie 27, 2005, 19:51:35 » |
|
NU e timp constant ! Si NU e numai la pornire, intrgul sistem d alocare a mem p windows mi se pare cam dubios.!?! Unde ai gasit tu o descriere a sistemului de alocare a memoriei pe Windows? Din cate stiu eu codul este prorietary si NU e public. Si ce legatura are formatul executabilelor cu alocarea memoriei? Cat despre probleme, unix nu sta tocmai pe roze. Probabil ai auzit de OOM care se datoreaza "super-optimismului" lui malloc (i.e. promite programului memorie pe care nu o are). Asta e oarecum intentionat, pentru eficienta; dar sunt si alte probleme, vezi de exemplu http://citeseer.ist.psu.edu/440671.html
|
|
|
Memorat
|
|
|
|
•cyron
Strain
Karma: 2
Deconectat
Mesaje: 43
|
 |
« Răspunde #17 : Martie 02, 2005, 22:25:46 » |
|
[editat de moderator]
|
|
|
Memorat
|
|
|
|
mindphobia
Vizitator
|
 |
« Răspunde #18 : Martie 07, 2005, 13:47:25 » |
|
PPl : Fisierele .EXE sunt de fapt nishte map-uri pentru shell(a se citi kernel)(da shi windows-ul are unul) de fapt ele contin instructiunile pentru procesor,dar shi resursele executabilului (iconite, bitmapuri,etc) ,antet (destul d mare ) despre model d mem, resurse, compozitie ,etc => inainte ca un fisier .EXE sa fie executat el trebuie prelucrat d win.com (care-ii incarca resursele ,aloca mem, seteaza prioritati shi alte vrajeli ) , mai ceva ca un script => ceva latente d procesare (mai ales la programele c folosesc resurse complexe d mem),acesta este un motiv , mai sunt shi altele(nu am nici timp nici chef sa le prezint pe toate).
La ONI se evalueaza pe Windows 9x?  Sper ca ati inteles ca ideea e ca Linux rulz ,shi in general tot ce e open-source e mai bun decat porcariile comerciale.
Bullshit. Generalizare pripita. Sper ca nu v-am plictisit !!! Oh.. da! Pe mine cel putin.
|
|
|
Memorat
|
|
|
|
mindphobia
Vizitator
|
 |
« Răspunde #19 : Martie 07, 2005, 13:50:26 » |
|
Si NU e numai la pornire, intrgul sistem d alocare a mem p windows mi se pare cam dubios.!?! Asta cu dubios a fost buna. Care-i problema ta? 
|
|
|
Memorat
|
|
|
|
•fbkk
Client obisnuit

Karma: -13
Deconectat
Mesaje: 72
|
 |
« Răspunde #20 : Martie 08, 2005, 00:00:27 » |
|
Nu voiam sa intru in detalii, dar vad ca interesul e mare  Unde ai gasit tu o descriere a sistemului de alocare a memoriei pe Windows? Din cate stiu eu codul este prorietary si NU e public. Ai dreptate NU e public! (Fiindca varianta lunga mi s-a sters voi fi scurt  ) Ce voi spune pentru alocarea mem e valabil shi pentru alte operatii: In Win, ai API = dll's == kernel32, user32, gdi32, etc., care se incarca cu fiecare executabil Win => le poti "debuga"(cuvant nou). Concret:Scrii un program Win32 care aloca mem intr-o functie,si deschizi o fereastra CPU din compilator (personal am folosit Delphi 7)in care vezi executia codului din API(kernel32,ntdll,user32,etc.), mergi cu F7 pana la functia care te intereseaza, deschizi fereastra CPU, shi continui cu F7 prin dll-uri. (N-am avut ce face vreo 2 saptamani asta vara ?!? ) !!! Pentru o analiza completa a codului folosit in diverse functii API ,e nevoie de vaste cunostinte in Win32, asm, arhitectura hardware si probabil luni de munca pentru o singura functie(n-aveti decat)! Insa pentru o idee rapida si aproximativa cred ca merge "sa te uiti un pic peste codul celor d la MS" Si ce legatura are formatul executabilelor cu alocarea memoriei? Nici una ! Cat despre probleme, unix nu sta tocmai pe roze. Probabil ai auzit de OOM care se datoreaza "super-optimismului" lui malloc (i.e. promite programului memorie pe care nu o are). Asta e oarecum intentionat, pentru eficienta; dar sunt si alte probleme, Fragmentarea e o problema si pe Linux, dar e una grea de rezolvat, oriunde. Cat despre OOM ,mie nu mi-a facut probleme nici cu programele mele, si nici alte aplicatii n-au primit "KILL" inca din cauza OOM, Solutia ar fi RAM-i multi si swap mare ,nu ??  :lol: NU exista soft perfect,doar "mai bun" !
|
|
|
Memorat
|
No one should have to code the same thing twice !
|
|
|
•fbkk
Client obisnuit

Karma: -13
Deconectat
Mesaje: 72
|
 |
« Răspunde #21 : Martie 08, 2005, 00:31:33 » |
|
La ONI se evalueaza pe Windows 9x? Very Happy  Buna intrebare  : NU ! (In caz ca tie ti se pare ca atunci cand vorbeam despre Win , vorbeam de Win 9x ,: vorbeam de orice Win (pe PC am XP). Ti-as zice ca diferentele intre ele nu sunt chiar asha mari (vorbesec din punct de vedere al timpului de executie),dar probabil ca o sa zici ca e absurd si n-are rost) Bullshit. Generalizare pripita. Zi-mi un program comercial, care e mai bun decat echivalentul sau open-source ! Quote: Sper ca nu v-am plictisit !!!
Oh.. da! Pe mine cel putin. Puteai sa te opresti dupa primul alineat?? , daca te-ai plictisit ,de ce ai citit pana la sfarsit ??  Asta cu dubios a fost buna. Care-i problema ta? Brick wall Ma bucur daca nu esti deacord cu mine, imi place sa aud alte pareri, insa pana le argumentezi sunt doar pareri, si din pacate nu ti-am retinut argumentele. Daca ma faci sa inteleg de ce ai TU dreptate,o sa recunosc ca sunt prost, bucuros ca am invatat ceva ! 
|
|
|
Memorat
|
No one should have to code the same thing twice !
|
|
|
•wickedman
|
 |
« Răspunde #22 : Martie 08, 2005, 01:51:40 » |
|
In Win, ai API = dll's == kernel32, user32, gdi32, etc., care se incarca cu fiecare executabil Win => le poti "debuga"(cuvant nou). Concret:Scrii un program Win32 care aloca mem intr-o functie,si deschizi o fereastra CPU din compilator ... adica tu stii asa de multe despre alocarea memoriei in Windows facand debugging pe cod masina? OMG! we are not worthy ... desi nu e frumos din partea mea, am sa-l demasc pe cel care se ascunde sub pseudonimul mindphobia. daca fbkk a pierdut doua saptamani de vara studiind astfel de probleme, dl. mentionat mai sus studiaza de ani buni sisteme de operare / arhitectura calculatoarelor / assembly / win API / win DDK si altele. nu zic sa-l credeti pe cuvant dar macar sa ascultati ce are de zis, daca va mai zice ceva. Zi-mi un program comercial, care e mai bun decat echivalentul sau open-source ! Asta e prea de tot. Lasand sistemele de operare deoparte, pot sa-ti dau zeci de exemple de pachete sw closed-source / comerciale (incepand cu software-as-a-service si terminand cu IDE-uri si aplicatii desktop) care depasesc cu mult alternativele open-source / free. Get real! Lasand MS deoparte sunt alte companii gigantice si super-profitabile in industria software pentru ca ofera produse de calitate / unice pe piata. exemple? project managementXML editorsOracle, MSSQL, Adobe CS, Zend Studio, Delphi, Mathematica, VS.NET, Macromedia <whatever> , MS Project, MS Access, MS InfoPath, MS Visio ... e absurd. ma opresc aici
|
|
|
Memorat
|
|
|
|
•Cosmin
|
 |
« Răspunde #23 : Martie 08, 2005, 04:50:50 » |
|
Tare threadu asta windows vs linux! Astept in continuare C vs Pascal/C++/Java/C# sau ce limbaje de programare mai vreti voi.
|
|
|
Memorat
|
|
|
|
•fbkk
Client obisnuit

Karma: -13
Deconectat
Mesaje: 72
|
 |
« Răspunde #24 : Martie 08, 2005, 16:23:03 » |
|
De fapt ,daca stau sa ma gandesc cred ca dezbatem mult si fara folos, ca pana la urma e o chestie de gust : Windows sau Linux. Timpul de executie, conteaza doar la olimpiada si daca shtii rezolvarea ,se incadreaza in timp pe orice platforma  ,shi daca nu ...  diferenta e de 1-2 teste in cel mai bun caz. Tare threadu asta windows vs linux! Astept in continuare C vs Pascal/C++/Java/C# sau ce limbaje de programare mai vreti voi. Multumesc ca m-ai facut sa-nteleg ca facem aici teoria chibritului. 
|
|
|
Memorat
|
No one should have to code the same thing twice !
|
|
|
|