Какие инструменты на основе браузера можно использовать для проверки эффективности и использования памяти моего кода JavaScript? - PullRequest
0 голосов
/ 29 марта 2012

Я сейчас читаю Высокопроизводительный JavaScript Николаса Закаса, и в книге он говорит такие вещи, как:

Сравнение двух фрагментов кода показывает, что использование селекторовAPI работает в 2-6 раз быстрее в разных браузерах (Рисунок 3-6).

Figure 3-6. The benefit of using the Selectors API instead of iterating over the results of getElementsbyTagName()

Мне нужен инструмент на основе браузера, который позволяетЯ могу измерить и измерить производительность данного фрагмента JavaScript и сравнить его с другим сценарием, который использует другой подход (например, с использованием API селектора против getElementsByTagName).

Я использовал Chromeи Firebug, но ни один из них, кажется, не дает мне такого сравнения, которое он проводит здесь.Я использую эти инструменты неправильно или есть новый инструмент, с которым я не знаком, который я должен использовать?

Ответы [ 2 ]

1 голос
/ 29 марта 2012

Самый популярный подход - просто использовать бесплатные онлайн-сервисы http://jsperf.com/.

или клонировать его от github.

У него есть одно большое преимущество перед ручным тестированием: Он использует Java-апплет, который предоставляет доступ к таймеру наносекунд, в то время как таймеры JS (объекты Date) могут разрешаться только в миллисекундах.

1 голос
/ 29 марта 2012

Инструменты для разработчиков Chrome - это путь. Есть три потрясающие функции.

  1. Timeline. Это покажет вам время рендеринга любого исполняемого JavaScript на графике шкалы времени.
  2. Снимок кучи. Этот парень сделает снимок вашего текущего JS, включая всю вашу цепочку. Он также показывает, сколько памяти занимает каждый элемент, и предоставляет хороший способ найти места, которые жует ваш код.
  3. Профиль процессора. Показывает, сколько ресурсов процессора расходует функция, также полезно для поиска мест для оптимизации и, возможно, для ознакомления с веб-работниками.

Если вы используете бета-канал Chrome, проверьте расширение Speed ​​Tracer (от Google). Это в основном расширенный график. Если вы JQuery, бета-версия также имеет CSS Selector Profiling Я еще не использовал, поэтому я не могу говорить о его использовании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...