Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

Programmers Debate

- - - - -
  • Please log in to reply
149 replies to this topic

#73
Fratello_2007

Fratello_2007

    Senior Member

  • Grup: Senior Members
  • Posts: 6,255
  • Înscris: 04.11.2007

Quote

Ele insa nu caracterizeaza in totalitate un limbaj ci arata pe segmente avantaje si dezavantaje.
Asta ai aratat si tu prin testele respective.
Inca nu ai demonstrat nimic concret.

#74
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,600
  • Înscris: 30.07.2003

View PostFratello_2007, on 4th October 2009, 15:28, said:

Inca nu ai demonstrat nimic concret.
Nu stiu ce nu e clar: doua compilatoare de C/C++ care produc .exe insa optimizeaza dupa cat au stiut producatorii:
VC++ = 23s
C++Builder = 60s
pentru codul din prima pagina a acestui topic.
Deci cum ramane cu afirmatia ca nu mai e relevant compilatorul/limbajul daca produc tot .exe ?!

VC++ genereaza mult cod dar rapid:
00401000  /$ 83EC 5C		SUB ESP,5C
00401003  |. 53			 PUSH EBX
00401004  |. 55			 PUSH EBP
00401005  |. 56			 PUSH ESI
00401006  |. 57			 PUSH EDI
00401007  |. 90			 NOP
00401008  |. 90			 NOP
00401009  |. 90			 NOP
0040100A  |. D9EE		   FLDZ
0040100C  |. 837C24 74 00   CMP DWORD PTR SS:[ESP+74],0
00401011  |. C74424 18 0000>MOV DWORD PTR SS:[ESP+18],0
00401019  |. C74424 1C 0000>MOV DWORD PTR SS:[ESP+1C],0
00401021  |. 0F8C 56020000  JL c.0040127D
00401027  |. 7F 0B		  JG SHORT c.00401034
00401029  |. 837C24 70 00   CMP DWORD PTR SS:[ESP+70],0
0040102E  |. 0F86 49020000  JBE c.0040127D
00401034  |> DD05 40E34000  FLD QWORD PTR DS:[40E340]
0040103A  |. 8B7C24 7C	  MOV EDI,DWORD PTR SS:[ESP+7C]
0040103E  |. DD05 38E34000  FLD QWORD PTR DS:[40E338]
00401044  |. 8B7424 78	  MOV ESI,DWORD PTR SS:[ESP+78]
00401048  |. DD05 30E34000  FLD QWORD PTR DS:[40E330]
0040104E  |. EB 02		  JMP SHORT c.00401052
00401050  |> D9CB		   /FXCH ST(3)
00401052  |> 33C9			XOR ECX,ECX
00401054  |. D9CB		   |FXCH ST(3)
00401056  |. 33C0		   |XOR EAX,EAX
00401058  |. D8F2		   |FDIV ST,ST(2)
0040105A  |. 85FF		   |TEST EDI,EDI
0040105C  |. 894C24 10	  |MOV DWORD PTR SS:[ESP+10],ECX
00401060  |. 894424 14	  |MOV DWORD PTR SS:[ESP+14],EAX
00401064  |. 0F8C 9D010000  |JL c.00401207
0040106A  |. 7F 09		  |JG SHORT c.00401075
0040106C  |. 83FE 08		|CMP ESI,8
0040106F  |. 0F82 92010000  |JB c.00401207
00401075  |> 83EE 07		|SUB ESI,7
00401078  |. 8BD7		   |MOV EDX,EDI
0040107A  |. 83DA 00		|SBB EDX,0
0040107D  |> DF6C24 10	  |/FILD QWORD PTR SS:[ESP+10]
00401081  |. 8BD9		   ||MOV EBX,ECX
00401083  |. 83C3 01		||ADD EBX,1
00401086  |. 895C24 20	  ||MOV DWORD PTR SS:[ESP+20],EBX
0040108A  |. D9C0		   ||FLD ST
0040108C  |. 8BE8		   ||MOV EBP,EAX
0040108E  |. D8F3		   ||FDIV ST,ST(3)
00401090  |. 83D5 00		||ADC EBP,0
00401093  |. 896C24 24	  ||MOV DWORD PTR SS:[ESP+24],EBP
00401097  |. 8BD9		   ||MOV EBX,ECX
00401099  |. 83C3 02		||ADD EBX,2
0040109C  |. 895C24 28	  ||MOV DWORD PTR SS:[ESP+28],EBX
004010A0  |. 8BE8		   ||MOV EBP,EAX
004010A2  |. 83D5 00		||ADC EBP,0
004010A5  |. 896C24 2C	  ||MOV DWORD PTR SS:[ESP+2C],EBP
004010A9  |. 8BD9		   ||MOV EBX,ECX
004010AB  |. 83C3 03		||ADD EBX,3
004010AE  |. 8BE8		   ||MOV EBP,EAX
004010B0  |. 83D5 00		||ADC EBP,0
004010B3  |. 895C24 30	  ||MOV DWORD PTR SS:[ESP+30],EBX
004010B7  |. 896C24 34	  ||MOV DWORD PTR SS:[ESP+34],EBP
004010BB  |. 8BD9		   ||MOV EBX,ECX
004010BD  |. 83C3 04		||ADD EBX,4
004010C0  |. 8BE8		   ||MOV EBP,EAX
004010C2  |. 83D5 00		||ADC EBP,0
004010C5  |. 895C24 38	  ||MOV DWORD PTR SS:[ESP+38],EBX
004010C9  |. 896C24 3C	  ||MOV DWORD PTR SS:[ESP+3C],EBP
004010CD  |. 8BD9		   ||MOV EBX,ECX
004010CF  |. DEC2		   ||FADDP ST(2),ST
004010D1  |. DF6C24 20	  ||FILD QWORD PTR SS:[ESP+20]
004010D5  |. D9C2		   ||FLD ST(2)
004010D7  |. D8CB		   ||FMUL ST,ST(3)
004010D9  |. DEC2		   ||FADDP ST(2),ST
004010DB  |. D9C9		   ||FXCH ST(1)
004010DD  |. D8C2		   ||FADD ST,ST(2)
004010DF  |. D9C1		   ||FLD ST(1)
004010E1  |. D8CE		   ||FMUL ST,ST(6)
004010E3  |. DEF9		   ||FDIVP ST(1),ST
004010E5  |. DEEA		   ||FSUBP ST(2),ST
004010E7  |. D9C0		   ||FLD ST
004010E9  |. D8F3		   ||FDIV ST,ST(3)
004010EB  |. DEC2		   ||FADDP ST(2),ST
004010ED  |. DF6C24 28	  ||FILD QWORD PTR SS:[ESP+28]
004010F1  |. D9C2		   ||FLD ST(2)
004010F3  |. D8CB		   ||FMUL ST,ST(3)
004010F5  |. DEC2		   ||FADDP ST(2),ST
004010F7  |. D9C9		   ||FXCH ST(1)
004010F9  |. D8C2		   ||FADD ST,ST(2)
004010FB  |. D9C1		   ||FLD ST(1)
004010FD  |. D8CE		   ||FMUL ST,ST(6)
004010FF  |. DEF9		   ||FDIVP ST(1),ST
00401101  |. DEEA		   ||FSUBP ST(2),ST
00401103  |. D9C0		   ||FLD ST
00401105  |. D8F3		   ||FDIV ST,ST(3)
00401107  |. DEC2		   ||FADDP ST(2),ST
00401109  |. DF6C24 30	  ||FILD QWORD PTR SS:[ESP+30]
0040110D  |. D9C2		   ||FLD ST(2)
0040110F  |. D8CB		   ||FMUL ST,ST(3)
00401111  |. DEC2		   ||FADDP ST(2),ST
00401113  |. D9C9		   ||FXCH ST(1)
00401115  |. D8C2		   ||FADD ST,ST(2)
00401117  |. D9C1		   ||FLD ST(1)
00401119  |. D8CE		   ||FMUL ST,ST(6)
0040111B  |. DEF9		   ||FDIVP ST(1),ST
0040111D  |. DEEA		   ||FSUBP ST(2),ST
0040111F  |. D9C0		   ||FLD ST
00401121  |. D8F3		   ||FDIV ST,ST(3)
00401123  |. DEC2		   ||FADDP ST(2),ST
00401125  |. DF6C24 38	  ||FILD QWORD PTR SS:[ESP+38]
00401129  |. D9C2		   ||FLD ST(2)
0040112B  |. D8CB		   ||FMUL ST,ST(3)
0040112D  |. DEC2		   ||FADDP ST(2),ST
0040112F  |. D9C9		   ||FXCH ST(1)
00401131  |. D8C2		   ||FADD ST,ST(2)
00401133  |. D9C1		   ||FLD ST(1)
00401135  |. D8CE		   ||FMUL ST,ST(6)
00401137  |. DEF9		   ||FDIVP ST(1),ST
00401139  |. DEEA		   ||FSUBP ST(2),ST
0040113B  |. D9C0		   ||FLD ST
0040113D  |. D8F3		   ||FDIV ST,ST(3)
0040113F  |. DEC2		   ||FADDP ST(2),ST
00401141  |. 83C3 05		||ADD EBX,5
00401144  |. 8BE8		   ||MOV EBP,EAX
00401146  |. 83D5 00		||ADC EBP,0
00401149  |. 895C24 40	  ||MOV DWORD PTR SS:[ESP+40],EBX
0040114D  |. 896C24 44	  ||MOV DWORD PTR SS:[ESP+44],EBP
00401151  |. DF6C24 40	  ||FILD QWORD PTR SS:[ESP+40]
00401155  |. 8BD9		   ||MOV EBX,ECX
00401157  |. D9C2		   ||FLD ST(2)
00401159  |. 83C3 06		||ADD EBX,6
0040115C  |. D8CB		   ||FMUL ST,ST(3)
0040115E  |. 8BE8		   ||MOV EBP,EAX
00401160  |. 83D5 00		||ADC EBP,0
00401163  |. 895C24 48	  ||MOV DWORD PTR SS:[ESP+48],EBX
00401167  |. DEC2		   ||FADDP ST(2),ST
00401169  |. 896C24 4C	  ||MOV DWORD PTR SS:[ESP+4C],EBP
0040116D  |. D9C9		   ||FXCH ST(1)
0040116F  |. 8BD9		   ||MOV EBX,ECX
00401171  |. 83C3 07		||ADD EBX,7
00401174  |. D8C2		   ||FADD ST,ST(2)
00401176  |. 8BE8		   ||MOV EBP,EAX
00401178  |. D9C1		   ||FLD ST(1)
0040117A  |. 83D5 00		||ADC EBP,0
0040117D  |. D8CE		   ||FMUL ST,ST(6)
0040117F  |. 895C24 50	  ||MOV DWORD PTR SS:[ESP+50],EBX
00401183  |. 896C24 54	  ||MOV DWORD PTR SS:[ESP+54],EBP
00401187  |. 83C1 08		||ADD ECX,8
0040118A  |. DEF9		   ||FDIVP ST(1),ST
0040118C  |. 83D0 00		||ADC EAX,0
0040118F  |. 3BC2		   ||CMP EAX,EDX
00401191  |. 894C24 58	  ||MOV DWORD PTR SS:[ESP+58],ECX
00401195  |. 894424 5C	  ||MOV DWORD PTR SS:[ESP+5C],EAX
00401199  |. 894C24 10	  ||MOV DWORD PTR SS:[ESP+10],ECX
0040119D  |. 894424 14	  ||MOV DWORD PTR SS:[ESP+14],EAX
004011A1  |. DEEA		   ||FSUBP ST(2),ST
004011A3  |. D9C0		   ||FLD ST
004011A5  |. D8F3		   ||FDIV ST,ST(3)
004011A7  |. DEC2		   ||FADDP ST(2),ST
004011A9  |. DF6C24 48	  ||FILD QWORD PTR SS:[ESP+48]
004011AD  |. D9C2		   ||FLD ST(2)
004011AF  |. D8CB		   ||FMUL ST,ST(3)
004011B1  |. DEC2		   ||FADDP ST(2),ST
004011B3  |. D9C9		   ||FXCH ST(1)
004011B5  |. D8C2		   ||FADD ST,ST(2)
004011B7  |. D9C1		   ||FLD ST(1)
004011B9  |. D8CE		   ||FMUL ST,ST(6)
004011BB  |. DEF9		   ||FDIVP ST(1),ST
004011BD  |. DEEA		   ||FSUBP ST(2),ST
004011BF  |. D9C0		   ||FLD ST
004011C1  |. D8F3		   ||FDIV ST,ST(3)
004011C3  |. DEC2		   ||FADDP ST(2),ST
004011C5  |. DF6C24 50	  ||FILD QWORD PTR SS:[ESP+50]
004011C9  |. D9C2		   ||FLD ST(2)
004011CB  |. D8CB		   ||FMUL ST,ST(3)
004011CD  |. DEC2		   ||FADDP ST(2),ST
004011CF  |. D9C9		   ||FXCH ST(1)
004011D1  |. D8C2		   ||FADD ST,ST(2)
004011D3  |. D9C1		   ||FLD ST(1)
004011D5  |. D8CE		   ||FMUL ST,ST(6)
004011D7  |. DEF9		   ||FDIVP ST(1),ST
004011D9  |. DEEA		   ||FSUBP ST(2),ST
004011DB  |. D9C0		   ||FLD ST
004011DD  |. D8F3		   ||FDIV ST,ST(3)
004011DF  |. DEC2		   ||FADDP ST(2),ST
004011E1  |. D9C1		   ||FLD ST(1)
004011E3  |. D8CA		   ||FMUL ST,ST(2)
004011E5  |. DEC1		   ||FADDP ST(1),ST
004011E7  |. D8C1		   ||FADD ST,ST(1)
004011E9  |. DF6C24 58	  ||FILD QWORD PTR SS:[ESP+58]
004011ED  |. D8CD		   ||FMUL ST,ST(5)
004011EF  |. DEF9		   ||FDIVP ST(1),ST
004011F1  |. DEE9		   ||FSUBP ST(1),ST
004011F3  |.^0F8C 84FEFFFF  ||JL c.0040107D
004011F9  |. 7F 08		  ||JG SHORT c.00401203
004011FB  |. 3BCE		   ||CMP ECX,ESI
004011FD  |.^0F82 7AFEFFFF  |\JB c.0040107D
00401203  |> 8B7424 78	  |MOV ESI,DWORD PTR SS:[ESP+78]
00401207  |> 3BC7		   |CMP EAX,EDI
00401209  |. 7F 42		  |JG SHORT c.0040124D
0040120B  |. 7C 04		  |JL SHORT c.00401211
0040120D  |. 3BCE		   |CMP ECX,ESI
0040120F  |. 73 3C		  |JNB SHORT c.0040124D
00401211  |> DF6C24 10	  |/FILD QWORD PTR SS:[ESP+10]
00401215  |. 83C1 01		||ADD ECX,1
00401218  |. 83D0 00		||ADC EAX,0
0040121B  |. 3BC7		   ||CMP EAX,EDI
0040121D  |. D9C0		   ||FLD ST
0040121F  |. 894C24 60	  ||MOV DWORD PTR SS:[ESP+60],ECX
00401223  |. D8F3		   ||FDIV ST,ST(3)
00401225  |. 894424 64	  ||MOV DWORD PTR SS:[ESP+64],EAX
00401229  |. 894C24 10	  ||MOV DWORD PTR SS:[ESP+10],ECX
0040122D  |. 894424 14	  ||MOV DWORD PTR SS:[ESP+14],EAX
00401231  |. DEC2		   ||FADDP ST(2),ST
00401233  |. D9C1		   ||FLD ST(1)
00401235  |. D8CA		   ||FMUL ST,ST(2)
00401237  |. DEC1		   ||FADDP ST(1),ST
00401239  |. D8C1		   ||FADD ST,ST(1)
0040123B  |. DF6C24 60	  ||FILD QWORD PTR SS:[ESP+60]
0040123F  |. D8CD		   ||FMUL ST,ST(5)
00401241  |. DEF9		   ||FDIVP ST(1),ST
00401243  |. DEE9		   ||FSUBP ST(1),ST
00401245  |.^7C CA		  ||JL SHORT c.00401211
00401247  |. 7F 04		  ||JG SHORT c.0040124D
00401249  |. 3BCE		   ||CMP ECX,ESI
0040124B  |.^72 C4		  |\JB SHORT c.00401211
0040124D  |> 834424 18 01   |ADD DWORD PTR SS:[ESP+18],1
00401252  |. 8B4424 1C	  |MOV EAX,DWORD PTR SS:[ESP+1C]
00401256  |. 83D0 00		|ADC EAX,0
00401259  |. 3B4424 74	  |CMP EAX,DWORD PTR SS:[ESP+74]
0040125D  |. 894424 1C	  |MOV DWORD PTR SS:[ESP+1C],EAX
00401261  |.^0F8C E9FDFFFF  |JL c.00401050
00401267  |. 7F 0E		  |JG SHORT c.00401277
00401269  |. 8B4424 18	  |MOV EAX,DWORD PTR SS:[ESP+18]
0040126D  |. 3B4424 70	  |CMP EAX,DWORD PTR SS:[ESP+70]
00401271  |.^0F82 D9FDFFFF  \JB c.00401050
00401277  |> DDD9		   FSTP ST(1)
00401279  |. DDDA		   FSTP ST(2)
0040127B  |. DDD8		   FSTP ST
0040127D  |> 83EC 08		SUB ESP,8
00401280  |. DD1C24		 FSTP QWORD PTR SS:[ESP]
00401283  |. 68 24E34000	PUSH c.0040E324						;  ASCII "%e
"
00401288  |. E8 DE000000	CALL c.0040136B
0040128D  |. 83C4 0C		ADD ESP,0C
00401290  |. 90			 NOP
00401291  |. 90			 NOP
00401292  |. 90			 NOP
00401293  |. 5F			 POP EDI
00401294  |. 5E			 POP ESI
00401295  |. 5D			 POP EBP
00401296  |. 5B			 POP EBX
00401297  |. 83C4 5C		ADD ESP,5C
0040129A  \. C3			 RETN

C++Builder genereaza putin dar slab:
0040120C  /$ 55			 PUSH EBP
0040120D  |. 8BEC		   MOV EBP,ESP
0040120F  |. 83C4 C0		ADD ESP,-40
00401212  |. 90			 NOP
00401213  |. 90			 NOP
00401214  |. 90			 NOP
00401215  |. 33C0		   XOR EAX,EAX
00401217  |. 8945 F8		MOV DWORD PTR SS:[EBP-8],EAX
0040121A  |. 8945 FC		MOV DWORD PTR SS:[EBP-4],EAX
0040121D  |. C745 F0 000000>MOV DWORD PTR SS:[EBP-10],0
00401224  |. C745 F4 000000>MOV DWORD PTR SS:[EBP-C],0
0040122B  |. E9 AA000000	JMP cb.004012DA
00401230  |> DB2D 10134000  /FLD TBYTE PTR DS:[401310]
00401236  |. DC4D F8		|FMUL QWORD PTR SS:[EBP-8]
00401239  |. DD5D F8		|FSTP QWORD PTR SS:[EBP-8]
0040123C  |. C745 E8 000000>|MOV DWORD PTR SS:[EBP-18],0
00401243  |. C745 EC 000000>|MOV DWORD PTR SS:[EBP-14],0
0040124A  |. EB 6E		  |JMP SHORT cb.004012BA
0040124C  |> 8B45 E8		|/MOV EAX,DWORD PTR SS:[EBP-18]
0040124F  |. 8B55 EC		||MOV EDX,DWORD PTR SS:[EBP-14]
00401252  |. 8945 D0		||MOV DWORD PTR SS:[EBP-30],EAX
00401255  |. 8955 D4		||MOV DWORD PTR SS:[EBP-2C],EDX
00401258  |. DF6D D0		||FILD QWORD PTR SS:[EBP-30]
0040125B  |. DB2D 1C134000  ||FLD TBYTE PTR DS:[40131C]
00401261  |. DEC9		   ||FMULP ST(1),ST
00401263  |. DC45 F8		||FADD QWORD PTR SS:[EBP-8]
00401266  |. DD5D F8		||FSTP QWORD PTR SS:[EBP-8]
00401269  |. DD45 F8		||FLD QWORD PTR SS:[EBP-8]
0040126C  |. DC4D F8		||FMUL QWORD PTR SS:[EBP-8]
0040126F  |. 8B45 E8		||MOV EAX,DWORD PTR SS:[EBP-18]
00401272  |. 8B55 EC		||MOV EDX,DWORD PTR SS:[EBP-14]
00401275  |. 8945 C8		||MOV DWORD PTR SS:[EBP-38],EAX
00401278  |. 8955 CC		||MOV DWORD PTR SS:[EBP-34],EDX
0040127B  |. DF6D C8		||FILD QWORD PTR SS:[EBP-38]
0040127E  |. DEC1		   ||FADDP ST(1),ST
00401280  |. DD5D E0		||FSTP QWORD PTR SS:[EBP-20]
00401283  |. 8B45 E8		||MOV EAX,DWORD PTR SS:[EBP-18]
00401286  |. 8B55 EC		||MOV EDX,DWORD PTR SS:[EBP-14]
00401289  |. 83C0 01		||ADD EAX,1
0040128C  |. 83D2 00		||ADC EDX,0
0040128F  |. 8945 C0		||MOV DWORD PTR SS:[EBP-40],EAX
00401292  |. 8955 C4		||MOV DWORD PTR SS:[EBP-3C],EDX
00401295  |. DF6D C0		||FILD QWORD PTR SS:[EBP-40]
00401298  |. D80D 28134000  ||FMUL DWORD PTR DS:[401328]
0040129E  |. DD45 F8		||FLD QWORD PTR SS:[EBP-8]
004012A1  |. DC45 E0		||FADD QWORD PTR SS:[EBP-20]
004012A4  |. DEF1		   ||FDIVRP ST(1),ST
004012A6  |. DD5D D8		||FSTP QWORD PTR SS:[EBP-28]
004012A9  |. DD45 D8		||FLD QWORD PTR SS:[EBP-28]
004012AC  |. DC6D F8		||FSUBR QWORD PTR SS:[EBP-8]
004012AF  |. DD5D F8		||FSTP QWORD PTR SS:[EBP-8]
004012B2  |. 8345 E8 01	 ||ADD DWORD PTR SS:[EBP-18],1
004012B6  |. 8355 EC 00	 ||ADC DWORD PTR SS:[EBP-14],0
004012BA  |> 8B45 E8		| MOV EAX,DWORD PTR SS:[EBP-18]
004012BD  |. 8B55 EC		||MOV EDX,DWORD PTR SS:[EBP-14]
004012C0  |. 3B55 14		||CMP EDX,DWORD PTR SS:[EBP+14]
004012C3  |. 75 07		  ||JNZ SHORT cb.004012CC
004012C5  |. 3B45 10		||CMP EAX,DWORD PTR SS:[EBP+10]
004012C8  |.^72 82		  ||JB SHORT cb.0040124C
004012CA  |. EB 06		  ||JMP SHORT cb.004012D2
004012CC  |>^0F8C 7AFFFFFF  |\JL cb.0040124C
004012D2  |> 8345 F0 01	 |ADD DWORD PTR SS:[EBP-10],1
004012D6  |. 8355 F4 00	 |ADC DWORD PTR SS:[EBP-C],0
004012DA  |> 8B45 F0		 MOV EAX,DWORD PTR SS:[EBP-10]
004012DD  |. 8B55 F4		|MOV EDX,DWORD PTR SS:[EBP-C]
004012E0  |. 3B55 0C		|CMP EDX,DWORD PTR SS:[EBP+C]
004012E3  |. 75 0B		  |JNZ SHORT cb.004012F0
004012E5  |. 3B45 08		|CMP EAX,DWORD PTR SS:[EBP+8]
004012E8  |.^0F82 42FFFFFF  |JB cb.00401230
004012EE  |. EB 06		  |JMP SHORT cb.004012F6
004012F0  |>^0F8C 3AFFFFFF  \JL cb.00401230
004012F6  |> FF75 FC		PUSH DWORD PTR SS:[EBP-4]			  ; /Arg3
004012F9  |. FF75 F8		PUSH DWORD PTR SS:[EBP-8]			  ; |Arg2
004012FC  |. 68 C8D04000	PUSH cb.0040D0C8					; |Arg1 = 0040D0C8 ASCII "%e
"
00401301  |. E8 7E3A0000	CALL cb.00404D84					; \cb.00404D84
00401306  |. 83C4 0C		ADD ESP,0C
00401309  |. 90			 NOP
0040130A  |. 90			 NOP
0040130B  |. 90			 NOP
0040130C  |. 8BE5		   MOV ESP,EBP
0040130E  |. 5D			 POP EBP
0040130F  \. C3			 RETN

Edited by neagu_laurentiu, 04 October 2009 - 17:02.


#75
Fratello_2007

Fratello_2007

    Senior Member

  • Grup: Senior Members
  • Posts: 6,255
  • Înscris: 04.11.2007
Am spus clar ca optimizarea poate sa vina atat de la compilator cat si de la programator.
Ceea ce demonstrezi tu e un mic test. Tu nu atingi nici 5% din ce poate face fiecare compilator.
Dupa ce testezi absolut toate caracteristicile compilatorului X si Y poti spune ceva despre respectivele.
Cum spuneam compilarea difera de la platforma la platforma. Pe alt hardware poti obtine alti timpi.
Ideea e ca nu imi pasa ca X cod nativ e mai rapid cu 1s fata de codul Y.
E inutil sa stau sa compar timpi cand in ziua de azi nu asta conteaza la un limbaj de programare.
E mai importanta viteza de dezvoltare, usurinta de a face debug sau usurinta de a te putea folosii de anumite parti dezvoltate de tine ce pot fi integrate si in alte proiecte.
Important este si faptul ca mai multi programatori pot programa in limbaje diferite pt. un singur proiect. Vezi .NET.
Viteza de rulare a programului in zilele noastre este ultimul factor luat in calcul.
Se urmaresc costurile minime.

Edited by Fratello_2007, 04 October 2009 - 18:42.


#76
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
Daca pentru tine nu conteaza ca stai 5 secunde sa aplici de exemplu un filtru pe o imagine sau stai 1 minut poate pe altii intereseaza.
Nu toate programele se rezuma la gestiune de stocuri sau similare unde viteza nu conteaza.

Quote

Ideea e ca nu imi pasa ca X cod nativ e mai rapid cu 1s fata de codul Y.

Pacat de ce a scris neagu_laurentiu ca vad ca tot la ideile tale ramai.

Edited by dani.user, 04 October 2009 - 19:09.


#77
Fratello_2007

Fratello_2007

    Senior Member

  • Grup: Senior Members
  • Posts: 6,255
  • Înscris: 04.11.2007
Nu stiu ce a facut el pe acolo. Nici nu ma intereseaza.
Nu stiu nimic despre hardware si ce cid testeaza el si cum.
Practic ce a postat nu e relevant.
Nu toate programele sunt pt. compresii si decompresii, codari sau decodari.
Am spus C++ nu e mai suprem cu nimic. C++ are avantaje si destule dezavantaje.
Nu astept sa moara C/C++. Dar cand postezi aberatii hai sa o lasam asa cum e.
Acum pot cauta si eu pe net review-uri sau comentarii contra C sau pt. a arata ca X limbaj e mai performant decat C.
Pana nu veniti cu ceva concret nu am ce comenta.

Ar trebui sa luati in considerare:
1. hardware-ul
2. OS-ul
3. compilatorul

Apropo pe mine nu ma intereseaza ca X limbaj scoate cu 0.3s mai putin decat limbajul Y.
Cum am spus ma intereseaza usurinta de a dezvolta si sa pot rezolva mai repede problemele de prin cod.
Mai conteaza sa am si un cod cat mai lizibil.

Sper ca m-am facut inteles. Nu imi pasa de limbaj atat timp cat isi face treaba.
Daca limbajul e potrivit pt. ceea ce vreau eu atunci aia folosesc.
Daca cunosc limbajul X mai bine decat Y, atunci folosesc limbajul X.

Toti care stiti C/C++ si sunteti veterani in limbajul asta nu vreti sa vedeti nimic din ceea ce e nou si evoluat.
Totul e rau din punctul vostru de vedere.
Eu zic ca totul evolueaza clar si spre bine.

PS: Am pus o intrebare si nu ati raspuns. De ce nu programati in B language daca tot e stramosul C-ului? (ca vad ca asta e gandirea pe aici.)
Daca X limbaj e facut in Y, limbajul  Y e mai bun decat X. (total neadevarat.)

Edited by Fratello_2007, 04 October 2009 - 19:40.


#78
msmihai

msmihai

    Senior Member

  • Grup: Senior Members
  • Posts: 5,271
  • Înscris: 02.09.2006
bun , am inteles, esti programatorul caruia nu-i pasa de nimic, care nu vrea nimic. Lasa-ne pe noi restul, care totusi ne intereseaza astfel de discutii, sa ne dam cu parerea. Eu consider ca parerea ta este inutila in acest topic, avand in vedere ca nu esti interesat de astfel de lucruri. ;)

#79
Fratello_2007

Fratello_2007

    Senior Member

  • Grup: Senior Members
  • Posts: 6,255
  • Înscris: 04.11.2007
Nu ai inteles nimic. Ramai la ceea ce ai in cap ca e Ok.
Viteza de executie nu reprezinta totul pt. un programator. (pt. anumite persoane vad ca reprezinta.)
De fapt numai lucruri subiective vad pe aici.
Tu ce propui sa ma apuc de C++ pt. ca e mai rapid decat JAVA?
Incerci sa ma convingi ca nimic nu e mai bun decat C++?
Adevarul ca C++ e suprematia restul sunt numai fake-uri. :)
O sa programam toti in C/C++ pt. ca C/C++ reprezinta totul in programare. :)
Prevad un viitor in care toata lumea va programa in C/C++.

Oricum acest topic a fost creat doar ca sa aduca discutii inutile si cearta.
E ma retrag din aberatile postate pe aici.
C/C++ sunt limbaje de programare foarte bune dar nu e cazul sa devenim fanatici.

Bafta la polemici.

#80
msmihai

msmihai

    Senior Member

  • Grup: Senior Members
  • Posts: 5,271
  • Înscris: 02.09.2006
nene, noi aici suntem o mana de fanatici carora ne place sa vorbim astfel de chestii.  daca  tie nu iti place, nu e cazul sa te amesteci in discutiile noastre. asta era ideea. eu nu am nimic cu tine, nu te cunosc, tot respectul pentru ceea ce faci tu, insa nu poti sa te duci in mijlocul unei discutii tehnice si sa spui ca tie nu iti pasa de nimic din ce se discuta acolo.e lipsa totala de respect fata de cei care isi dau interesul si scriu , cand ar putea foarte bine sa nu o faca si sa utilizeze timpul liber in alte moduri.

e ca si cum te-ai duce bine mersi in laboratoarele GPL , unde se gandesc oamenii cum sa trimita diverse chestii in spatiu , si sa le zici "bai fraierilor , eu cred in dumnezeu si nu trebuie sa imi bat capul cu astea, sunt mult mai castigat ca voi " . Urata atitudine ...

#81
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,600
  • Înscris: 30.07.2003
Nu cred ca propune cineva sa cunosti doar un singur limbaj. Nici nu ar fi normal.
Legat de intrebarea de mai sus: C aduce mult mai multe decat B si cu pierderi minime. D insa nu are acelasi salt spectaculos.

#82
Fratello_2007

Fratello_2007

    Senior Member

  • Grup: Senior Members
  • Posts: 6,255
  • Înscris: 04.11.2007
Ca o paranteza.

VC++ genereaza cod nativ pt. viteza. (in cazul de fata)
C++Builder genereaza cod pt. consum de resurse mai mic. (in cazul de fata)
Amandoua optimizeaza codul respectiv.
Ce ai demonstrat? Ai demonstrat ca cele doua au scos cod optimizat.
Din ce ai facut tu nu rezulta ca VC++ ar fi mai bun decat C++ Builder.
Nu a spus nimeni ca trebuie sa cunosti un singur limbaj de programare, dar e absolut normal sa cunosti un limbaj de programare mai bine decat celelalt(e).

@msmihai cine te retine sa nu iti folosesti timpul cum vrei? Ideea ca tu iti pierzi timpul aiurea in polemici. Nimeni nu te obliga sa faci polemici. (vlabil si pt. ceilalti.)
Cum am spus ai inteles totul pe dos. Succes in continuare ca vad ca de inteles romaneste nu se poate.
Arata-mi unde am spus eu ca viteza de executie nu inseamna nimic pt. programator. Am spus asa: viteza de executie nu este singurul factor pe care trebuie sa il ia un programator in calcul. Optimizare se mai face si prin cod nu neaparat din compilatoare. Si daca tu scrii cod mizer poti sa compilezi cu ce vrei matale ca tot mizerie faci.

Edited by Fratello_2007, 04 October 2009 - 21:10.


#83
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,600
  • Înscris: 30.07.2003

View PostFratello_2007, on 4th October 2009, 22:08, said:

Din ce ai facut tu nu rezulta ca VC++ ar fi mai bun decat C++ Builder.
:D Iti setez compilatorul de VC++ sa optimizeze pentru size mic (si va rezulta mai mic ca C++Builder) iar executia cu muuult mai buna (27s vs 60s pe sistemul meu).
Oare de ce in VC++ se scriu jocuri si alte aplicatii critice ?

#84
cspot

cspot

    Guru Member

  • Grup: Senior Members
  • Posts: 12,855
  • Înscris: 22.07.2004
Pentru cei care au inceput flame-ul despre compilatoare si limbaje, eu cred ca ASM este cel mai tare limbaj. Poti sa faci absolut orice in el. Ca sa fie clar !

    Daca C++ ar fi fost limbajul absolut nu s-ar mai fi apucat nimeni sa foloseasca altceva. De vreme ce lumea mai foloseste si altceva se cheama ca sunt bune.

#85
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postcspot, on 9th October 2009, 12:54, said:

Pentru cei care au inceput flame-ul despre compilatoare si limbaje, eu cred ca ASM este cel mai tare limbaj. Poti sa faci absolut orice in el. Ca sa fie clar !

    Daca C++ ar fi fost limbajul absolut nu s-ar mai fi apucat nimeni sa foloseasca altceva. De vreme ce lumea mai foloseste si altceva se cheama ca sunt bune.
Programatorii ASM adevarati spun

Quote

Limbajele C/C++ sunt doar generatoare de ASM.
:coolspeak:

Il las pe colegul de sub mine sa dezvolte ideea ... :)

#86
madlex

madlex

    Active Member

  • Grup: Senior Members
  • Posts: 1,270
  • Înscris: 11.07.2003

Quote

Viteza de rulare a programului in zilele noastre este ultimul factor luat in calcul.
Pentru firme de outsourcing care trebuie sa manance si ei o paine..

Profesionistii se feresc de C++ datorita overhead-ului care il aduc si a lipsei de control asupra codului generat/compilat, ce sa mai vorbim de Java, C#, J#, VB? Acestea din urma intra in cu totul alta sfera de discutii. Nu exista comparatie intre ele si C++. Sunt cu totul altceva, o tehnologie mai mult decat un limbaj.

De asemenea nu exista comparatie intre ASM - C/C++. ASM este doar o forma de exprimare a codului masina. E un limbaj atat de criptic incat nu poate fi numit limbaj. Nu poti stii ASM fara a cunoaste cum functioneaza masina propriu zis. Practic ASM nu este un limbaj de programare propriu zis, ci doar limbajul prin care codul masina este descrifrat (dezasamblat) programatorului. Tehnic vorbind.

Poate se intelege gresit, dar nu inseamna ca C/C++ este mai bun decat ASM sau C#,Java.
Ce puteti compara este calitatea programatorilor care lucreaza in aceste limbaje ..daca vreti.,,

Cheers

#87
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Exact

View Postcspot, on 9th October 2009, 12:54, said:

Poti sa faci absolut orice in el.
... deoarece tu insuti esti un alt programator dupa ce ai invatat ASM. Altfel spus, ai uitat de factorul uman, care e variabil.

Plus mentenanta... Daca o mai bagi si p-aia in "calitatea unui cod"... Bineinteles, un bootloader va fi scris mereu in ASM, plus bootstrapping, plus cateva apeluri SSE pe ici pe colo, dar in rest nu vad de ce ASM si nu C/C++, caci dupa cum am spus

Quote

Limbajele C/C++ sunt doar generatoare de ASM.
-_-

Trage linie, aduna avantajele, vezi ce iese.

#88
mrlei

mrlei

    New Member

  • Grup: Members
  • Posts: 4
  • Înscris: 13.11.2009

View PostOriginalCopy, on 13th October 2009, 22:23, said:

Exact
... deoarece tu insuti esti un alt programator dupa ce ai invatat ASM. Altfel spus, ai uitat de factorul uman, care e variabil.

Plus mentenanta... Daca o mai bagi si p-aia in "calitatea unui cod"... Bineinteles, un bootloader va fi scris mereu in ASM, plus bootstrapping, plus cateva apeluri SSE pe ici pe colo, dar in rest nu vad de ce ASM si nu C/C++, caci dupa cum am spus
-_-

Trage linie, aduna avantajele, vezi ce iese.

La urma urmei cam toate limbajele sunt generatoare de asm daca sapi pana la un anumit nivel fie ca o fac direct fie prin interpretare iar apoi asm-ul este tradus in cod masina(011010101) si abia apoi poate fi interpretat de cate cpu.
Normal ca in ziua de azi nu prea mai stau lucrurile asa de simplu...si cand vorbesti in felul asta deja se numesc vorbe de la 1000 de metri.

#89
gtk

gtk

    Guru Member

  • Grup: Senior Members
  • Posts: 11,868
  • Înscris: 18.09.2004

View Postcspot, on 9th October 2009, 12:54, said:

Pentru cei care au inceput flame-ul despre compilatoare si limbaje, eu cred ca ASM este cel mai tare limbaj. Poti sa faci absolut orice in el. Ca sa fie clar !
desi teoretic poti face orice, practic nu poti face mai nimic in asm... in afara de mici bucatele de soft low level, nu se face mai nimic in asm...

#90
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,600
  • Înscris: 30.07.2003
Daca o iei strict pe limbaj nici C/C++ nu face nimic. Numai ca limbajul "lucreaza" impreuna cu biblioteca.

Edited by neagu_laurentiu, 17 January 2010 - 23:43.


Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate