( Chrome, MBP 2013, OSX 10.9, Intel i7 @2.8GHz, 16GB DDR3), . . return label/break . /, . :
function r() {
for(var i = 0; i < 10; ++i) {
for(var j = 0; j < 10; ++j) {
if(i*j == 50) {
return;
}
}
}
}
function b() {
dance:
for(var i = 0; i < 10; ++i) {
for(var j = 0; j < 10; ++j) {
if(i*j == 50) {
break dance;
}
}
}
}
function r2() {
return;
}
function b2() {
dance:
break dance;
}
var startTime;
var endTime;
console.log("Return test");
startTime = Date.now();
for(var i = 0; i < 1000000000; ++i) {
r2();
}
endTime = Date.now();
console.log(endTime - startTime);
console.log("Break test");
startTime = Date.now();
for(var i = 0; i < 1000000000; ++i) {
b2();
}
endTime = Date.now();
console.log(endTime - startTime);
( r() b()), . return label/break ( r2() b2()) / . :
1, 10000000
() : 1215
() 3- /, : 1522
2, 1000000000 // 2
() 3 : 1879
() 3 /: 1862
:
return ~ 25%
/HPC / 1%