Здравствуйте, только-что копался в бэкапах и нашел небольшой скрипт, под названием Who Faster. Мне всегда было интиресно, что быстрее сработает if else if или switch, Array или Object, while или for, а также проверить на скорость небольшие скрипты, для этого в Firebug есть замечательные инструменты, но по каким-то причинам они меня не устраивали, по каким уже и не вспомню.
В общем тогда, я и решил написать этот скрипт, состоящий из парочки не хитрых функция, и показывающий, кто все-таки быстрее ! :)
В общем тогда, я и решил написать этот скрипт, состоящий из парочки не хитрых функция, и показывающий, кто все-таки быстрее ! :)
В Поле пишите //CODE[название скрипта]: .... //CODE: ...
Птицей "Use Loop" можно установить сколько раз прокручивать скрипт, чтобы победителя лучше видно было :).
Сам код(именно он и выполняется в программке выше):
function _Go(toTest,__length){
var __end = 0,
__start = 0;
var __toEval = '__start = +new Date;'+
(__length>0?'for(var __i=0;__i<__length;__i++){'+
toTest+'}':toTest)+
'__end = +new Date - __start; ';
try{
eval(__toEval);
}catch(err){
__end = err;
}
return __end;
}
function _test(){
var txt_field= document.getElementById('_script_1');
var max_loop=parseInt(document.getElementById('max_loop').value);
var script = txt_field.value;
var res = document.getElementById("_res");
max_loop = max_loop>0?max_loop:0;
var arr_script = script.match(/\/\/CODE[^:]*:[^\/\/CODE]*/g);
if(arr_script[0]=='')arr_script.shift();
var _res = "";
var tmp = [];
for(var i=0,l=arr_script.length;i<l;i++){
tmp = arr_script[i].match(/\/\/CODE([^:]*):([^¬]*)/); //
_res += "<div><i>"+(tmp[1]==''?i:tmp[1])+
": </i><span>"+_Go(tmp[2], max_loop)+"</span></div>";
}
res.innerHTML = _res;
}
function de(name){
var obj = document.getElementById(name);
if(obj.disabled){
obj.disabled = false;
}else{
obj.disabled = 'disabled';
obj.value = '';
}
}
