IE9 рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдбреЗрдб рдХреЛрдб рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛

[рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ: рдпрд╣ рдЕрдиреБрд╡рд╛рдж IE рдЯреАрдо рдХреЗ рдмреНрд▓реЙрдЧ рд╕реЗ рдЗрд╕ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреЛрд╕реНрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╣реБрдИ рдЧрд▓рддрдлрд╣рдореА рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рд╣реИ: IE9 - рд╕рдирд╕реНрдкреАрдбрд░ JS рдХреЗ рд╕рд╛рде рдзреЛрдЦрд╛? ]



рд╣рдорд╛рд░реЗ рдирдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдореЗрдВ рдПрдХ рдмрджрд▓рд╛рд╡, рдХреЛрдб рдирд╛рдо рдЪрдХреНрд░, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореГрдд рдХреЛрдб рдХрд╛ рд╡рд┐рдирд╛рд╢ рд╣реИред рдХрд▓ рджреЛрдкрд╣рд░, рдХрд┐рд╕реА рдиреЗ рд╣рдорд╛рд░реЗ рдХрдиреЗрдХреНрд╢рди рдкрд░ рдПрдХ рдкреНрд░рд╢реНрди рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ - "рд╕рдирд╕реНрдкрд╛рдЗрдбрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рдЯреАрдХ [рдЧрдгрд┐рдд-рдХреЙрд░реНрдбрд┐рдХ рдкрд░реАрдХреНрд╖рдг] рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ" ред рдЪреВрдВрдХрд┐ рдХрдИ рд▓реЛрдЧ рдЗрд╕ рд╕рд╡рд╛рд▓ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХреЛ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред





рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, IE9 рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдиреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рд╣реИрдВред рдЖрдк рд╣рдорд╛рд░реА ietestdrive.com рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдХреБрдЫ рдирдореВрдирд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдЬреЗрдПрд╕ рдЗрдВрдЬрди рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ "рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореБрдбрд╝" рдЕрдиреБрдХреВрд▓рди рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рдмрдЧ рдирд╣реАрдВ рд╣реИред



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



рдпрд╣рд╛рдБ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рд╡рд┐рд▓реЛрдкрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдерд┐рддрд┐ рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрдЧреА рдФрд░ js рдЗрдВрдЬрди рдЗрд╕реЗ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИ




function func() {
    var x = 1;
    var y = 3;
    var w = x + y;

    if (w != 4) {
        // dead code 
    }
}

      
      







┬л┬╗ , , . , ( computer science ┬л┬╗ ),




function func(a, b) {
    var x;
    var i = 300;
    while (i--) {
        x = a + b; // dead store
    }
}

      
      







, , , , .




function sum() {
    var a = [1, 2, 3, 4, 5];
    var sum = 0.0;
    
    // dead loop elimination
    for (var i = 0; i < 5; i++) {
        sum += a[i];
    }
}

      
      







┬л┬╗ , , , . .



, math-cordic Webkit SunSpider suite? .




function cordicsincos() { 
     var X;  
     var Y;  
     var TargetAngle; 
     var CurrAngle;  
     var Step;   
     X = FIXED(AG_CONST);         /* AG_CONST * cos(0) */ 
     Y = 0;                       /* AG_CONST * sin(0) */ 
   
    TargetAngle = FIXED(28.027);  
    CurrAngle = 0;  
    for (Step = 0; Step < 12; Step++) { 
        var NewX; 
            if (TargetAngle > CurrAngle) { 
               NewX = X - (Y >> Step);  
               Y = (X >> Step) + Y; 
               X = NewX; 
               CurrAngle += Angles[Step];  
            } else { 
               NewX = X + (Y >> Step); 
               Y = -(X >> Step) + Y; 
               X = NewX; 
               CurrAngle -= Angles[Step]; 
            } 
    } 
} 

      
      







, . , .



, , , .



, . Sunspider . , JavaScript.



JavaScript, ┬л┬╗ . , - , -. Chakra ┬л┬╗ . , Connect , . ┬л┬╗ .



┬л┬╗ , Chakra . JavaScript .



тАФ Dean Hachamovitch



: IE9 ietestdrive.com

:image

UPD: , . .

Detailed Results Average (ms)
IE8 3746
Firefox 3.6.12 753
Safari 5.0.2 328
Firefox 4.0 Pre-Release Beta7 277
Chrome 7.0 262
Opera 10.63 246
Opera 11 Alpha 242
Chrome 8.0 Beta 233
IE9 Platform Preview #7 216



All Articles