Документация
- Reporting a Performance Problem
- Удобное для пользователя руководство по составлению отчетов по проблемам быстродействия. Среда разработки не требуется.
- Рекомендации по повышению производительности расширений
- Гайд по производительности для разработчиков дополнений.
- Measuring Add-on Startup Performance
- Гайд для разработчиков дополнений по настройке окружения для тестирования производительности.
- Школа XUL: Производительность дополнений
- Заметки для разработчиков дополнений для помощи в избежании ухудшения производительности приложений.
- Производительность GPU
- Заметки для профилирования и улучшения производительности при использовании GPU.
Просмотреть все страницы с пометками «Производительность»...
Утилиты профилирования и поиска утечек
- about:memory
- Страница about:memory - это простейший инструмент для измерения потребления памяти, и первое, с чего следует начинать при анализе. Позволяет выполнить относящиеся к памяти операции, такие как запуск сборщика мусора и сборщика циклических ссылок, сохранение дампа памяти сборщика мусора и сборщика циклических ссылок, сохранение дампа отчета DMD. Страница about:memory построена на верхнем уровне инфраструктуры отчетов памяти Firefox.
- Профайлер DMD
- DMD - это инструмент, который находит проблемные места на странице about:memory, и также может выполнять множество видов проверок кучи.
- areweslimyet.com
- Сайт areweslimyet.com (аббревиатура AWSY), показывающий потребление памяти различными версиями сборок Firefox.
- BloatView
- BloatView для каждого класса показывает статистику по выделенным блокам и ссылкам, а также общую величину объема памяти, подвергшегося утечке, с разбивкой по классам. Используется как часть процесса тестирования в непрерывной интеграции сборок Mozilla.
- Трассировка и балансировка ссылок
- Трассировка и балансировка ссылок - это способы отслеживания утечек памяти, вызванных неправильным использованием механизма подсчета ссылок (reference counting). Эти способы медлительны и не просты в применении, поэтому больше подходят для опытных разработчиков.
- Логи сборщика мусора и сборщика циклических ссылок
- Логи сборщика мусора и сборщика циклических ссылок могут быть созданы и проанализированы разными способами. Например, они помогут вам понять, почему конкретный объект не был уничтожен и продолжает жить.
- Valgrind
- Valgrind - это инструмент, который выявляет различные связанные с памятью проблемы во время выполнения, включая утечки памяти. Valgring используется как часть процесса тестирования в непрерывной интеграции сборок Mozilla, однако покрытие кода тестами ограничено, так как Valgring медлителен.
- LeakSanitizer
- LeakSanitizer (аббревиатура LSAN) - похож на Valgrind, но выполняется быстрее, потому что использует статический анализ исходного кода. LSAN является частью процесса тестирования в непрерывной интеграции сборок Mozilla, с множеством тестов, выполняющихся через него как часть тестовых задач инструмента AdressSanitizer (ASAN).
- Инструменты Apple
- Apple предоставляет несколько интрументов для Mac OS X, которые выявляют проблемы, аналогичные выявляемым инструментами LSAN и Valgrind. Этот инструмент для выявления "утечек" не рекомендуется использовать с движком SpiderMonkey или браузером Firefox, потому что его запутывают меченые указатели (tagged pointers) и он думает, что объекты текут, когда это не так (подробнее см. ошибку 390944).
- Leak Gauge
- Leak Gauge - это инструмент, который может быть использован для выявления определенных видов утечек в движке Gecko, включая те, что связаны с документами, объектами окон, и docshell-ами.
- LogAlloc
- LogAlloc - это инструмент, с помощью которого можно получить лог дампа памяти движка Gecko. Этот лог можно впоследствии самостоятельно повторно воспроизвести на дефолтном распределителе памяти браузера Firefox или на другой библиотеке с измененной функцией выделения блоков памяти malloc, включая тестирование других выделенных блоков под точно такой же рабочей нагрузкой.
Смотрите также документацию Стратегии и советы по выявлению утечек памяти.
|
Профилировка и интрументы анализа производительности
- Профилировка с помощью профайлера Developer Tools Profiler
- Профайлер, встроенный в инструментарий разработчика, включает в себя водопад высокого уровня (high-level waterfall), детализированное дерево вызовов, профилировку размещенных блоков памяти и профилировку сборщика мусора, а также графики пламени (flame graphs). Все это доступно на всех платформах и каналах релизов, а также поддерживает удаленную профилировку в операционной системе b2g (Boot to Gecko = Firefox OS) и профилировку браузера Fennec (версия Firefox, адаптированная для смартфонов).
- Профилировка с помощью дополнения Gecko Profiler {{ gecko_minversion_inline("16.0") }}
- Дополнение Gecko Profiler - хороший инструмент, с которого можно начать исследования.
- Профилировка с помощью Instruments
- Как использовать Instruments от компании Apple для профилировки кода Mozilla.
- Профилировка с помощью Xperf
- Как использовать утилиту Xperf от компании Microsoft для профилировки кода Mozilla.
- Профилировка с помощью Zoom
- Zoom - это профайлер под Linux от создателей профайлера Shark.
- Измерение производительности с помощью модуля PerfMeasurement.jsm {{ gecko_minversion_inline("2.0") }}
- Использование модуля
PerfMeasurement.jsm для измерения характеристик производительности вашего кода JavaScript.
- Добавление нового датчика телеметрии
- Информация о том, как добавить в отчет о производительности системы телеметрии новую характеристику для измерения.
- Профилировка JavaScript с помощью Shark {{ gecko_minversion_inline("1.9") }}
- Как использовать профайлер Shark под Mac OS X для анализа кода JavaScript в браузере Firefox 3.5 и более поздних версиях.
- Профилировка с помощью Shark
- Как использовать инструмент Shark от компании Apple для профилировки кода Mozilla.
- Исследование производительности каскадных таблиц стилей CSS
- Как выяснить, почему изменение стиля с помощью CSS занимает так много времени.
Профилировка энергопотребления
- Общая информация о профилировке энергопотребления
- На этой странице предоставлен обзор важной информации, в том числе подробная информация о принципах работы аппаратного обеспечения, о том, какие характеристики можно измерять, какие методы рекомендуется использовать. Эта статья должна стать отправной точкой для тех, кто пока мало знаком с профилировкой энергопотребления.
tools/power/rapl (Mac, Linux)
tools/power/rapl - это консольная утилита в наборе исходных кодов Mozilla, которая использует интерфейс Intel RAPL для оценки энергопотребления пакета, ядер процессора, графического процессора и оперативной памяти.
powermetrics (только для платформы Mac)
powermetrics - это консольная утилита, которая собирает и показывает целый ряд характеристик по всем имеющимся процессам и отдельно по каждому процессу, включая использование центрального процессора, графического процессора, и частоты пробуждения потоков процесса.
- Журналирование TimerFirings (Все платформы)
- Журналирование TimerFirings - это встроенный механизм записи событий для вывода на экран данных о каждом срабатывании таймера.
dtrace (только для платформы Mac)
dtrace - это мощный инструмент для профилировки пробуждений потоков процесса.
- Activity Monitor, меню Battery Status и консольная утилита
top (Mac)
- Эти инструменты являются основными для пользователей Mac, которые рекомендуется изучить в первую очередь.
- Intel Power Gadget (Windows, Mac, Linux)
- Intel Power Gadget в режиме реального времени показывает графы для пакетов и RAPL-характеристики процессора. От также дает API, посредством которых эти характеристики могут быть получены.
perf (только для Linux)
perf - это мощная консольная утилита может измерять множество различных параметров, включая характеристики энергопотребления и пробуждения потоков процесса.
turbostat (только для Linux)
turbostat - это консольная утилита, которая собирает и показывает разные связанные с энергопотреблением характеристики, делая акцент на показателях по каждому отдельному процессору, таких как частоты и режимы энергопотребления процессора.
powertop (только для Linux)
powertop - это интерактивная консольная утилита, который собирает и показвает разные связанные с энергопотреблением характеристики.
Связанные темы
- JavaScript, XPCOM, Developing Mozilla, Extensions, Addons
|