Оператор in в кілька разів швидше hasOwnProperty()

Олег (він же a_[w]) потішив іще однією швидкісною блохою:

var obj:Object = {p:true};
var r:Boolean = false;
var pn:String = 'p';
var t:Number = getTimer();
var i:uint;
for(i=0; i<1000000; i++) r = obj.hasOwnProperty('p');
trace("hasOwnProperty('p'): " + (getTimer()-t)); // 275
t = getTimer();
for(i=0; i<1000000; i++) r = obj.hasOwnProperty(pn);
trace("hasOwnProperty(pn): " + (getTimer()-t)); // 271
t = getTimer();
for(i=0; i<1000000; i++) r = 'p' in obj;
trace("'p' in : " + (getTimer()-t)); // 96
t = getTimer();
for(i=0; i<1000000; i++) r = pn in obj;
trace("pn in : " + (getTimer()-t)); // 97

Результат: майже в 3 рази.

Таґи: ,

Коментарів: 5 to “Оператор in в кілька разів швидше hasOwnProperty()”

  1. Pasochkin:

    Вам такие коды продавать надо! Денюжка однако!

  2. Виктор:

    Можно ли взять одну картинку с Вашего блога? Очень понравилась. Линк на Вас есстественно поставлю.

  3. Виталий:

    А Вы на заказ не пишите?

  4. Шурик:

    Подскажите, а как пройти в библиотеку?

  5. Lapuhov:

    Что то слишком мудрено… И по-моему расчитано на блогера чем на вебмастера

Залиште свій коментар