Подтвердить что ты не робот

Javascript (jQuery) измерение производительности и лучшие практики (не время загрузки)

Я скажу сразу с места в карьер, что этот вопрос НЕ касается времени загрузки; Я знаю о YSlow, профилировщике Firebug, а также о том, какие лучшие практики и инструменты googlage показывают время загрузки компонентов страницы.

Я спрашиваю, какие хорошие инструменты профилирования или библиотеки или надстройки существуют для измерения фактического выполнения Javascript (в частности, jQuery), поскольку улучшается реальный пользовательский опыт. Например, измеряя время от щелчка до видимого результата на экране или помогая определить, почему эффект зависания на основе jQuery имеет медленную отзывчивость.

Мы замечаем, что когда страница /DOM становится относительно большой (скажем, от 70 кбайт до 150 килобайт HTML, исключая внешние CSS, JS и изображения) и/или имеет очень глубокую вложенность (14-25 уровней от <body> , до самого глубокого тега), события jQuery срабатывают медленнее, или весь пользовательский интерфейс JS становится вялым.

У меня также есть googled и узнал о лучших практиках для селекторов (например, выбор по id намного быстрее, чем выбор с помощью классов), я буду применять эти методы. Однако, как только все jQuery полностью загружены и все события подключены, нам все равно нужно улучшить фактическое срабатывание и выполнение событий.

Я уже реализовал некоторую делегацию событий, и я понимаю, что с меньшим количеством подключенных элементов DOM немного улучшается, но общий опыт по-прежнему нуждается в улучшении с большими страницами. Я должен упомянуть об этом, поскольку сайт AJAX тяжелый (партии загружаются через AJAX в отличие от начального HTTP-удара), мы активно используем livequery вместо простых jQuery-событий. Следует также упомянуть, что мы немного больше ориентируемся на производительность IE (7+), но также требуем хорошей производительности Firefox.

По мере того, как я разрабатываю и вношу изменения, я полагаю, что мне нужен способ измерения скоростей до и после изменения, поэтому я могу иметь конкретные цифры о том, улучшает ли что-либо изменение.

Любые советы, инструменты, библиотеки, сообщения в блогах, URL-адреса?

4b9b3361

Ответ 1

JSLitmus выглядит как-то, что я могу попробовать.

Ответ 2

Используя Firebug, вы можете перейти на вкладку консоли, затем щелкните значок firebug в верхнем левом углу (называемый "Параметры Firebug" ). Затем щелкните по опции "Профиль Javascript", после чего просто сделайте то, что вы хотите измерить, например, нажав на кнопку javascript, нарисуя объект Jquery dragable или что бы вы ни захотели, он запускает код javascript. Когда вы выполнили javascript, который хотите измерить, вернитесь к тому же пункту меню и еще раз нажмите "Профиль javascript" (чтобы он не был отмечен). Теперь вкладка консоли будет заполнена всеми действиями, которые вы ранее выполняли, а также временем, затраченным на выполнение каждого метода и т.д. (И общее время).