


Профилируем JavaScript. Технологии будущего. Оптимизация структуры веб-страниц
Как это все применять
Результаты

Во второй половине главы затрагивается тема асинхронной (многопоточной) производительности на основе JavaScript и производительности AJAX при загрузке страницы.
Профилируем JavaScript
Данный раздел написан после прочтения ряда заметок от John Resig (автора JavaScript-библиотеки jQuery), в которых он рассказывал про особенности работы JavaScript в различных браузерах.После существенной оптимизации CSS-селекторов и выходом Sizzle (http://sizzlejs.com/), который лишь немного уступает YASS (http://yass.webo.in/), автор jQuery сконцентрировал свои усилия на оптимизации работы с DOM-деревом и наиболее используемых методов и начал искать дополнительные способы для профилирования и оптимизации.
Дополнительно было написано дополнение для глубокого профилирования (http://ejohn.org/blog/deep-profiling-jquery-apps/) jQuery, которое помогло обнаружить методы, которые выполняются чересчур долго на реальных сайтах с jQuery. Дальше было проведено уточнение самих оптимизационных методов, которые, очевидно, являются не такими эффективными, как нам хотелось бы — ведь непонятно, где именно и что конкретно нужно оптимизировать.
Для ответа на этот вопрос можно пойти по одному пути и замерить число вызовов функции из какого-либо метода. В этом нам может помочь Firebug, который позволяет увидеть эту информация в соответствующей вкладке (еще и наряду со значениями времени выполнения каждого метода). К несчастью, очень неудобно вручную вбивать код, затем проверять результаты в консоле и определять, насколько они неудовлетворительны и изменились ли они с прошлого раза. Если бы только был способ получать эти числа в автоматическом режиме.