Pull to refresh

Comments 27

UFO just landed and posted this here
например, отслеживать каждый объект в этом коде на предмет переопределения у его прототипа методов valueOf и toString
А так же у прототипа его прототипа и так далее до объекта Object. Плюс надо будет также проверять геттеры-сеттеры и бог знает сколько всего ещё.
Опять же вопрос, когда это делать. Не исключено, что прототип поменяется в рантайме, и мертвый код (который был успешно удален) оживет.
Судя по названию движка, его продолжают писать индусы.
Вы считаете, что для корпорации Microsoft выпустить такое не epic fail?
Или это уже traditional fail?
UFO just landed and posted this here
Closure от Google это упростил до

function func(){for(var a=300;a--;);}func(1,{valueOf:function(){alert(«Hi Dean!»);return 2}});

Вот такие вот дела

А в advanced mode вообще ничего не оставил.
Если дополнить код до
function func(a, b) {
  var x;
  var i = 300;
  while (i--) {
    x = a + b; // dead store
  }
  return x
}

x = func(1, { valueOf: function() { alert("Hi Dean!"); return 2; } });
, то гугл сожмет до
for(var a = {valueOf:function() {
  alert("Hi Dean!");
  return 2
}}, b, c = 300;c--;) {
  b = 1 + a
}
x = b;
Что в принципе, правильно.
Кстати, подскажите пожалуйста куда слать багрепорты по IE9?
Там это так нетривиально… Наверное, специально сделали, чтобы как можно меньше людей слали им багрепорты.
Выбранное для оптимизации множество операций, похоже, совпадает с тем, которое используется в математических тестах в SunSpider.

Что и требовалось доказать. Спасибо Rob Sayre за разъяснения и вам за перевод.
Что требовалось доказать?
То предположение, что команда разработчиков IE использовала оптимизации, заточенные исключительно под SunSpider.
Угадал все буквы но не смог прочитать слово?
«Заточенные исключительно» это если бы ни на чем другом не работало. Вот одна из немногих адекватных статей на эту тему на одном из немногих относительно адекватных технических новостных сайтов.
К чему такая агрессия. Вы написали на хабре несколько приличных статей, я сам их с удовольствием читал и плюсовал. Тем более удивительно видеть от вас столь троллевидные комментарии.

Очевидно, я должен был поверить в это:
Compiler optimization is a tricky thing, and compiler authors tend to be very conservative about which optimizations they apply.

Удаление deadcode небезопасно, аргументы высказаны, примеры приведены. Но почему анализатор берет в работу if(a > b), и игнорирует при этом if(a < b)? Ни за что не поверю, что первое безопаснее второго. Тот же самый вопрос про i++ и i--.
UFO just landed and posted this here
«Эту кашу» заварили «свободные» любители файрфокса, вообще-то. Mark $huttleworth там вообще не появлялся, разработчики IE давно пишут, что скорость ТОЛЬКО яваскрипта ничего не значит и более того, ускорение одного из подтестов санспайдера на 20 миллисекунд практически не влияет на конечный результат
Хм, ну как раз сейчас пожалуй важна именно скорость яваскрипта. Ну и потребление памяти все же. Остальное или пока что практически не используется(типа canvas) или в любом случае занимает пренебрижительно мало времени…
UFO just landed and posted this here
Интересно, реально ли написать тест на полное соответствие ECMA стандарту, НЕ тест скорости работы...? ACID тест не это случайно делает?
Нет, ни один из acid-ов не является тест-сьютом на соответствие стандартам.
а меня местная гопота заминусовала.

хотелось бы чтобы ms и продукт выпустила побыстрее и чтобы баги preview все почистили и патчей по минимуму было.
Sign up to leave a comment.

Articles