Gcc vs Intel C ++ рдХрдВрдкрд╛рдЗрд▓рд░: рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрдирд░рдбрд░ рдЗрдВрдЬрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг

рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрд╡рд╛рдкреЗрдХреНрд╖рд╛ рдлрд╛рдЗрдирд░рд╛рдЗрдбрд░ рдЗрдВрдЬрди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рдЗрдЪреНрдЫрд╛ рдереАред



рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЯреЗрд▓ рд╕реЗ рд╕рдВрдХрд▓рдХ рдЬреАрд╕реАрд╕реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬ рдХреЛрдб рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред рдФрд░ рдПрдлрдЖрд░ рдЗрдВрдЬрди рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдВрдХрд▓рдХ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд░рдХреЗ рдХреБрдЫ рднреА рдХрд┐рдП рдмрд┐рдирд╛ рдорд╛рдиреНрдпрддрд╛ рдХреА рдЧрддрд┐ рдХреЛ рдмрдврд╝рд╛рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред



рдлрд┐рд▓рд╣рд╛рд▓, рдлрд╛рдЗрдирд░рд╛рдЗрдбрд░ рдЗрдВрдЬрди рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ - gcc 4.2.4ред рдпрд╣ рдХреБрдЫ рдФрд░ рдЖрдзреБрдирд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рд╣рдордиреЗ рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ - рдпрд╣ gcc рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ - 4.4.4, рдФрд░ Intel рд╕реЗ Intel - Intel C ++ рдХрдВрдкрд╛рдЗрд▓рд░ (icc)ред



рдПрдХ рдирдП рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░ рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред



рдпрд╣рд╛рдВ рдЗрдВрдЯреЗрд▓ Core2 рдбреБрдУ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкрд░рд┐рдгрд╛рдо рджрд┐рдП рдЧрдП рд╣реИрдВ:

рдЫрд╡рд┐

рдЗрдВрдЯреЗрд▓ рдкреЙрд╡реНрд░реЗ рдЯреЗрд╕реНрдЯ рдЯрд╛рдЗрдо (рд╕реЗрдХрдВрдб)



рдПрдПрдордбреА рдореЗрдВ, рдпрд╣ рджреЗрдЦрдирд╛ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдерд╛:

рдЫрд╡рд┐

AMD Povray рдкрд░реАрдХреНрд╖рдг рд╕рдордп (рд╕реЗрдХрдВрдб)



рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЭрдВрдбреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:

-O1, -O2 рдФрд░ -O3 рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрддрд░ рд╣реИрдВред

Gcc рдХреЗ рд▓рд┐рдП, тАУO3 рдХреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рдЧрднрдЧ рд╣рд░ рдЬрдЧрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм FineReader рдЗрдВрдЬрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Icc рдХреЗ рд▓рд┐рдП, -O2 рдХреЛ рдЗрд╖реНрдЯрддрдо рд╡рд┐рдХрд▓реНрдк рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ -O3 рдореЗрдВ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реВрдк рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреЛ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

-mtune = core2 -march = core2 -msse3 - рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, Core2 -o рдХреЗ рд▓рд┐рдПред

-xT рдЗрдВрдЯреЗрд▓ рд╕реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рдзреНрд╡рдЬ рд╣реИред

-рдкреНрд░реЛрдлрд╛рдЗрд▓-рдЙрдкрдпреЛрдЧ-рдкреАрдЬреАрдУ



рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде рдЯреЗрд╕реНрдЯ рд╕рд┐рд░реНрдл рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рд╣реИрдВред рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдПрдХ рдмрд╛рдЗрдирд░реА рджреВрд╕рд░реЗ рдкрд░ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред FineReader рдЗрдВрдЬрди рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рдмрдБрдзрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП, рдРрд╕реЗ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рддреЛ, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдПрдХ рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рд╕рдВрднрд╡ рд╣реИ: рдПрдХ рдЗрдВрдЯреЗрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ icc рдХрд╛рдлреА рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИред рдПрдПрдордбреА рдкрд░, рдпрд╣ рдЕрдзрд┐рдХ рд╡рд┐рдирдореНрд░рддрд╛ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЬреАрд╕реАрд╕реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдЪреНрдЫреА рд╡реГрджреНрдзрд┐ рджреЗрддрд╛ рд╣реИред

рдпрд╣ рд╣рдо рд╕рднреА рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рд╣реИ - рдлрд╛рдЗрдирд░рдбрд░ рдЗрдВрдЬрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рд╣рдордиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХреЗ рд╕рд╛рде рдлрд╛рдЗрдирд░рд╛рдЗрдбрд░ рдЗрдВрдЬрди рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛, рдЫрд╡рд┐ рдкреИрдХреЗрдЬ рдкрд░ рдорд╛рдиреНрдпрддрд╛ рд╢реБрд░реВ рдХреАред рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ:

рдЫрд╡рд┐

рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд FREngine рдХрд╛ рд╕рдордп рдЪрд▓ рд░рд╣рд╛ рд╣реИ (рдкреНрд░рддрд┐ рдкреГрд╖реНрда рд╕реЗрдХрдВрдб)



рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рдгрд╛рдоред рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░ рдорд╛рдк рдХреЗ рд╕рд╛рде gcc-4.4.4 / gcc-4.2.4 рдХрд╛ рдЕрдиреБрдкрд╛рдд рдХрд╛рдлреА рд╕реБрд╕рдВрдЧрдд рд╣реИ, рдФрд░ рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реИред рд▓реЗрдХрд┐рди icc рдХрд╛ рдХреНрдпрд╛? рд╡рд╣ рди рдХреЗрд╡рд▓ рдирдП gcc рдХреЛ рдЦреЛ рджреЗрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ gcc рдХреЛ рднреА рдЦреЛ рджреЗрддрд╛ рд╣реИ!



рд╣рдо рд╕рддреНрдп рдХреЗ рд▓рд┐рдП рдЪрд▓реЗ рдЧрдП, рдФрд░ рдпрд╣рд╛рдБ рд╣рдо рдХреНрдпрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ: рдХреБрдЫ (рдмрд▓реНрдХрд┐ рджреБрд░реНрд▓рдн) рдорд╛рдорд▓реЛрдВ рдореЗрдВ, icc рдореЗрдВ рд▓реВрдк рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВред рдпрд╣рд╛рдБ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рд╣реИ:

static const int aim = ..;

static const int range = ..;



int process( int * line, int size )

{

int result = 0;

for ( int i = 0; i < size; i++ ) {

if ( line[i] == aim ) {

result += 2;

} else {

if ( line[i] < aim - range || line[i] > aim + range ) {

result--;

} else {

result++;

}

}

}

return result;

}




* This source code was highlighted with Source Code Highlighter .






рд╡рд┐рднрд┐рдиреНрди рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдЪрд▓рд╛рдирд╛, рд╣рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдорд┐рд▓рд╛:

рдЫрд╡рд┐

рд╕рд╛рдЗрдХрд┐рд▓ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╕рдордп (ms)



рдЕрдиреНрдп рдЕрдиреБрдХреВрд▓рди рдЭрдВрдбреЗ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдореВрд░реНрдд рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рдорд┐рд▓реЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдореБрдЦреНрдп рджрд┐рдПред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрдВрдЯреЗрд▓ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ -O1, -O2 рдФрд░ -O3, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдХрд┐рд╕ рдЕрдиреБрдХреВрд▓рди рдиреЗ рдХреЛрдб рдХреЛ рдзреАрдорд╛ рдХрд░ рджрд┐рдпрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, icc рдмреЗрд╣рддрд░ рд░реВрдк рд╕реЗ рдЫреЛрд░реЛрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ (рдЬреИрд╕реЗ рдКрдкрд░ рд╡рд╛рд▓рд╛) рдореЗрдВ, рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИрдВред



рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХреА рдорджрдж рд╕реЗ, рдПрдХ рдФрд░, рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рдерд╛ред рдЖрдИрд╕реАрд╕реА рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рд▓рд╛рдИрдирдПрдбрд░ рдЗрдВрдЬрди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ, рдХрд╛рдлреА рдЙрдЪреНрдЪ рд╕реНрдерд┐рддрд┐ рдПрдХ рд╕рдорд╛рди рд░реЗрдЦрд╛ рдереА:



Namespace::A::GetValue() const ( )







рдЬрдмрдХрд┐ рдЬреАрд╕реАрд╕реА рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рдерд╛ред

A :: GetValue () рдХрдИ рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗ рдпреБрдХреНрдд рдПрдХ рд╕рд░рд▓ рд╕рдВрд░рдЪрдирд╛ рджреЗрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдкреНрд░рдкрддреНрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ



GlobalConstObject.GetValue().GetField()







рдЬреЛ рдХрд┐ int рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рд╕рднреА Get .. () рд╡рд┐рдзрд┐рдпрд╛рдВ рддреБрдЪреНрдЫ рд╣реИрдВ - рд╡реЗ рдмрд╕ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝реАрд▓реНрдб (рдорд╛рди рдпрд╛ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛) рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, GetValue () рдХрдИ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж GetField () рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЗрд╡рд▓ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдХреЙрд▓ рдореЗрдВ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИ, рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, GlobalConstObject рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╕рдВрдХрд▓рди рдЪрд░рдг рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЧрдгрдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ), рдЗрд╕рд▓рд┐рдП рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдПрдХ рд╕реНрдерд┐рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



gcc рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ), рд╣рд╛рд▓рд╛рдВрдХрд┐ -O2 рдпрд╛ -O3 рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде icc рд╕рдм рдХреБрдЫ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реИред рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ рдЬрдЧрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣рд╛рдВ рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред



рдЕрдм рдЙрдкрдЪрд╛рд░ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:



1) рд╕реНрд╡рдЪрд╛рд▓рд┐рддред Icc рдореЗрдВ рдПрдХ рдЕрджреНрднреБрдд -ipo рдзреНрд╡рдЬ рд╣реИ, рдЬреЛ рд╕рдВрдХрд▓рдХ рдХреЛ рдЗрдВрдЯрд░рдкреНрд░реЛрд╕реЗрдХреНрд╢реБрдЕрд▓ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ, рд╡рд╣ рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдмреАрдЪред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрдВрдЯреЗрд▓ рдХрд╛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдореИрдиреБрдЕрд▓ рдХреНрдпрд╛ рдХрд╣рддрд╛ рд╣реИ:



IPO рд╕рдВрдХрд▓рдХ рдХреЛ рдЖрдкрдХреЗ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрдХреВрд▓рди рд╕реЗ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ:

тАв рдХреЙрд▓, рдЬрдВрдк, рд╢рд╛рдЦрд╛рдУрдВ рдФрд░ рд▓реВрдк рдХреЗ рдЗрдирд▓рд╛рдЗрди рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рд╕реНрддрд╛рд░ред

тАв рддрд░реНрдХреЛрдВ, рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░реЛрдВ рдФрд░ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдкреНрд░реЛрд╕реЗрд░реБрд░рд▓ рдирд┐рд░рдВрддрд░ рдкреНрд░рд╕рд╛рд░ред

тАв рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рди рдФрд░ рдкрд╛рд╢ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдХреЛрдб рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓-рд╕реНрддрд░реАрдп рд╕реНрдерд┐рд░ рдЪрд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ред

тАв рдХреЛрдб рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореГрдд рдХреЛрдб рдЙрдиреНрдореВрд▓рдиред

тАв рдХреЙрд▓ рд╡рд┐рд▓реЛрдкрди рдФрд░ рдХреЙрд▓ рдЖрдВрджреЛрд▓рди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдкреНрд░рд╕рд╛рд░

рд▓реВрдк-рдЗрдирд╡реЗрд░рд┐рдПрдВрдЯ рдХреЛрдб рдХреА рдкрд╣рдЪрд╛рди рдЖрдЧреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд▓реВрдк-рдЗрдиреНрд╡рд╛рд░рд┐рдПрдВрдЯ рдХреЛрдбред



рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдмрдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдлрд╛рдЗрдирд░реАрдбрд░ рдЗрдВрдЬрди рдореЗрдВ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИред -рдЖрдИрдкреАрдУ рдЭрдВрдбреЗ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдиреЗ рдЗрд╕ рддрдереНрдп рдХреЛ рдЬрдиреНрдо рджрд┐рдпрд╛ рдХрд┐ рд▓рд┐рдВрдХрд░ (рдЕрд░реНрдерд╛рддреН, рдпрд╣ ipo рдХрд░рддрд╛ рд╣реИ) рдиреЗ рд╕рднреА рдореЗрдореЛрд░реА, рд╕рднреА рд╕реНрд╡реИрдк рдФрд░ рдХреЗрд╡рд▓ рдкреЗрдЬ рдорд╛рдиреНрдпрддрд╛ рдореЙрдбреНрдпреВрд▓ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдПрдХ) рдХреЛ рдХрдИ рдШрдВрдЯреЗ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рдереЗред рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХред



2) рдореИрдиреБрдЕрд▓ред рдпрджрд┐ рдХреЛрдб рдореЗрдВ рд╣рд░ рдЬрдЧрд╣ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЙрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдПрдХ рд╕реНрдерд┐рд░ рдХреЗ рд╕рд╛рде рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдкреБрд░рд╛рдиреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрдВрдЯреЗрд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рдорд┐рд▓рддрд╛ рд╣реИред



рдЫрд╡рд┐



рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ icc рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬрд╣рд╛рдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдХреЙрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдПрдХ рдирд┐рд░рдВрддрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдиреЗ icc рдХреЛ gcc-4.2.4 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рддреЗрдЬрд╝реА рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА gcc-4.4.4 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдореА рд╣реИред

рдЖрдк рдРрд╕реЗ рд╕рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдФрд░ рдХреЛрдб рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рд╣реА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреЛрд╖ рд╕реНрдкрд╖реНрдЯ рд╣реИ - рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдФрд░ рдкреНрд░рдпрд╛рд╕ рд▓рдЧреЗрдЧрд╛ред



рей) рд╕рдВрдпреБрдХреНрддред рдкреВрд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ -ipo рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣ рдПрдХ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдВрдХрд▓рди рд╕рдордп рджреЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдЭрдВрдбреЗ рдХреЗ рд╕рд╛рде рдХреМрди рд╕реА рдлрд╛рдЗрд▓реЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЙрдЪреНрдЪ рд╢реНрд░рдо рд▓рд╛рдЧрдд рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред



рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВред рдЗрдВрдЯреЗрд▓ C ++ рдХрдВрдкрд╛рдЗрд▓рд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рдХреЛрдб рдХреА рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдХреЗ рдХрд╛рд░рдг, рд╣рдордиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЧрддрд┐ рд▓рд╛рдн рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ - рдкреЛрд░реНрдЯрд┐рдВрдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╢реНрд░рдо рдХреЛ рдФрдЪрд┐рддреНрдп рджреЗрдиреЗ рдФрд░ рдЗрд╕ рд╕рдВрдХрд▓рдХ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ "рддреЗрдЬ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред



All Articles