diff options
Diffstat (limited to 'files/ru/mozilla/performance')
-rw-r--r-- | files/ru/mozilla/performance/about_colon_memory/index.html | 190 | ||||
-rw-r--r-- | files/ru/mozilla/performance/index.html | 129 |
2 files changed, 0 insertions, 319 deletions
diff --git a/files/ru/mozilla/performance/about_colon_memory/index.html b/files/ru/mozilla/performance/about_colon_memory/index.html deleted file mode 100644 index 6d29937510..0000000000 --- a/files/ru/mozilla/performance/about_colon_memory/index.html +++ /dev/null @@ -1,190 +0,0 @@ ---- -title: 'about:memory' -slug: 'Mozilla/Performance/about:memory' -tags: - - Память - - Производительность - - диагностика -translation_of: 'Mozilla/Performance/about:memory' ---- -<p>about:memory это специальная страница браузера Firefox, позволяющая просматривать, сохранять, загружать и сравнивать информацию об использовании браузером памяти. Также, она дает возможность проводить другие операции, связанные с памятью, такие как GC и CC, сохранение логов GC & CC и сохранение отчетов DMD. Эта страница присутствует во всех сборках браузера и не требует установки дополнительных программ.</p> - -<h2 id="Как_создать_отчет_об_используемой_памяти">Как создать отчет об используемой памяти</h2> - -<p>Представим, что вам нужно узнать как и сколько памяти использует Firefox. Возможно, вам нужно провести анализ использования памяти, или кто-то попросил вас воспользоваться страницей about:memory чтобы создать отчет "memory reports" и исследовать имеющуюся у вас проблему. Выполните следующие шаги.</p> - -<ul> - <li>Когда вам понадобится сделать замер текущей памяти (например, когда количество используемой Firefox памяти резко увеличилось) откройте новую вкладку, введите "about:memory" в адресную строку и нажмите "Enter".</li> - <li>Если вам необходимо передать информацию об используемой памяти, например загрузить в Bugzilla или отправить по почте, нажмите на кнопку "Measure and save...". Откроется диалог, в котором вы сможете сохранить отчет в выбранный файл (у файла будет расширение <code>.json.gz</code>). После этого вы сможете соответственно загрузить или переслать файл, а получатель сможет открыть его в своей версии Firefox.</li> - <li>Если вам нужно передать информацию в текстовом виде, например, в виде комментария на веб-сайте, нажмите на кнопку "Measure...". После этого информация об используемой памяти будет выведена в виде дерева прямо на странице about:memory. Информация будет представлена обычным текстом, так что вы сможете копировать и вставлять его как целиком, так и частями (вам не придется делать скриншоты). В этом тексте будет менее подробная информация об использовании ппамяти, чем в файле отчета, но даже этой информации иногда достаточно для диагностики. Не стоит жать кнопку "Measure..." несколько раз. Это приведет к тому, что страница about:memory сама начнет потреблять больше памяти, из-за добавления и удаления большого количества DOM узлов.</li> -</ul> - -<p>Обратите внимание, что в обоих случаях отчет будет содержать такую приватную информацию, как, например, полный список всех ваших открытых вкладок. Если вы не хотите делиться этой информацией, то у чекбокса "anonymize" должна быть проставлена галочка перед тем, как нажимать на "Measure and save..." или "Measure...". Тогда вся приватная информация из отчета будет удалена, но это может усложнить диагностику памяти.</p> - -<h2 id="Загрузка_memory_report_из_файла">Загрузка memory report из файла</h2> - -<p>Самый простой способ загрузить memory report из файла, это использовать кнопку "Load...". Еще вы можете использовать кнопку "Load and diff..." чтобы получить diff (сравнение) между двумя отчетами.</p> - -<p>Также можно автоматически загрузить одиночный отчет, добавив в адресную сторку параметр file, у которого в качестве значения прописать путь до файла отчета:</p> - -<pre>about:memory?file=/home/username/reports.json.gz -</pre> - -<p>Это особенно полезно при загрузке отчета, полученного с устройства на Firefox OS. </p> - -<p>Отчеты сохраняются в виде заархивированого JSON. В последствии они могут быть загружены как в виде архива, так и из распокованого JSON файла.</p> - -<h2 id="Как_интерпретировать_memory_reports">Как интерпретировать memory reports</h2> - -<p>Почти все, что вы видите на странице about:memory, имеет всплывающую подсказку. Наведите курсор на любую кнопку и вы узнаете, что она делает. Наведите курсор на любую измерение и вы увидите его описание.</p> - -<h3 id="Базовые_понятия_измерений"><span class="mw-headline" id="Basics">Базовые понятия измерений</span></h3> - -<p>Большинство измерений исчисляются в байтах, однако могут использоваться также количественные и процентные единицы.</p> - -<p>Большинство измерений представлены в виде деревьев. Пример:</p> - -<pre> 585 (100.0%) -- preference-service - └──585 (100.0%) -- referent - ├──493 (84.27%) ── strong - └───92 (15.73%) -- weak - ├──92 (15.73%) ── alive - └───0 (00.00%) ── dead -</pre> - -<p>Листья этих деревьев отображают непосредтвенно затраченную память, а узлы представляют суммарные затраты памяти все своих потомков.</p> - -<p>Древовидное представление позволяет разбивать измерения на различные категории, подкатегории и т.д., на любую необходиму глубину. Все измерения в пределах одного дерева уникальны и не повторяются.</p> - -<p>Пути в дереве описываются с ипользованием '/' в качестве разделителя. Например, <code>preference/referent/weak/dead</code> это путь до листа dead в примере выше.</p> - -<p>Поддеревья могут быть свернуты или развернуты при клике по ним. Если вы хотите исследовать интересующее вас поддерево, то будет полезным сначала свернуть его в корневом узле, а потом постепенно раскрывать интересующие вас под-деревья.</p> - -<h3 id="Секции"><span class="mw-headline" id="Sections">Секции</span></h3> - -<p>Memory reports are displayed on a per-process basis, with one process per section. Within each process's measurements, there are the following subsections.</p> - -<h4 id="Явное_выделение_памяти_(Explicit_Allocations)">Явное выделение памяти (Explicit Allocations)</h4> - -<p>Эта секция содержит дерево под названием "explicit". Вся затраченная в этом дереве память выделена при помощи функций явного выделения памяти (таких как <code>malloc</code> и <code>new</code>) и функциями выделения без использования кучи (non-heap) (такими как <code>mmap</code> и <code>VirtualAlloc</code>).</p> - -<p>Далее представлен пример сессии, в которой открыты вкладки cnn.com, techcrunch.com, и arstechnica.com. Некоторые подеревья были развернуты, другие наоборот скрыты для большей наглядности. </p> - -<pre>191.89 MB (100.0%) -- explicit -├───63.15 MB (32.91%) -- window-objects -│ ├──24.57 MB (12.80%) -- top(http://edition.cnn.com/, id=8) -│ │ ├──20.18 MB (10.52%) -- active -│ │ │ ├──10.57 MB (05.51%) -- window(http://edition.cnn.com/) -│ │ │ │ ├───4.55 MB (02.37%) ++ js-compartment(http://edition.cnn.com/) -│ │ │ │ ├───2.60 MB (01.36%) ++ layout -│ │ │ │ ├───1.94 MB (01.01%) ── style-sheets -│ │ │ │ └───1.48 MB (00.77%) -- (2 tiny) -│ │ │ │ ├──1.43 MB (00.75%) ++ dom -│ │ │ │ └──0.05 MB (00.02%) ── property-tables -│ │ │ └───9.61 MB (05.01%) ++ (18 tiny) -│ │ └───4.39 MB (02.29%) -- js-zone(0x7f69425b5800) -│ ├──15.75 MB (08.21%) ++ top(http://techcrunch.com/, id=20) -│ ├──12.85 MB (06.69%) ++ top(http://arstechnica.com/, id=14) -│ ├───6.40 MB (03.33%) ++ top(chrome://browser/content/browser.xul, id=3) -│ └───3.59 MB (01.87%) ++ (4 tiny) -├───45.74 MB (23.84%) ++ js-non-window -├───33.73 MB (17.58%) ── heap-unclassified -├───22.51 MB (11.73%) ++ heap-overhead -├────6.62 MB (03.45%) ++ images -├────5.82 MB (03.03%) ++ workers/workers(chrome) -├────5.36 MB (02.80%) ++ (16 tiny) -├────4.07 MB (02.12%) ++ storage -├────2.74 MB (01.43%) ++ startup-cache -└────2.16 MB (01.12%) ++ xpconnect</pre> - -<p>Для того, чтобы понять некоторые детали необходим опыт, но вот некоторые важные моменты, на которые стоит обратить внимание.</p> - -<ul> - <li>Значение узла "explicit" представляет собой всю память, которая была выделена при помощи явных функций.</li> - <li>Поддерево "window-objects" отображает все объекты window JavaScript'а, включая открытые вкладки и окна. Например, поддерево "top(http://edition.cnn.com/, id=8)" представляет вкладку, которая была открыта со страницы cnn.com, а "top(chrome://browser/content/browser.xul, id=3)" отображает окно графического интерфейса браузера.</li> - <li>Внутри каждого измерения window есть такие поддеревья JavaScript, как ("js-compartment(...)" and "js-zone(...)"), layout, style-sheets, DOM, и так далее.</li> - <li>Понятно, что вкладка cnn.com использует больше памяти чем techcrunch.com tab, а та в свою очередь использует больше, чем arstechnica.com tab.</li> - <li>Поддеревья с именами вроде "(2 tiny)" это искуственные объединения в узлы небольших по размеру поддеревьев, которые по умолчанию свернуты. Если перед измерением выбрать чекбокс "verbose" все деревья будут раскрыты и никаких искуственных узлов добавлено не будет.</li> - <li>Поддерево "js-non-window" отображает потребление памяти JavaScript'ом не из объектов window, а из ядра браузера.</li> - <li>Поддерево "heap-unclassified" отображает затраченную память, которая не подходит под другие секции . Обычно это 10--20% от дерева "explicit". Если эти затраты становятся больше, следует использовать дополнительные методы измерения памяти. При помощи <a href="/en-US/docs/Mozilla/Performance/DMD" title="Performance/MemShrink/DMD">DMD</a> можно выяснить, где именно их следует добавлять.</li> - <li>Существуют измерения и для других видов контента, таких как изображения и workers, а также для подсистем браузера, такех как начальный кэш и XPConnect.</li> -</ul> - -<p>Как показывает следующий пример, можно измерить потребления памяти некоторыми дополнениями.</p> - -<pre>├───40,214,384 B (04.17%) -- add-ons -│ ├──21,184,320 B (02.20%) ++ {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}/js-non-window/zones/zone(0x100496800)/compartment([System Principal], jar:file:///Users/njn/Library/Application%20Support/Firefox/Profiles/puna0zr8.new/extensions/%7Bd10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d%7D.xpi!/bootstrap.js (from: resource://gre/modules/addons/XPIProvider.jsm:4307)) -│ ├──11,583,312 B (01.20%) ++ jid1-xUfzOsOFlzSOXg@jetpack/js-non-window/zones/zone(0x100496800) -│ ├───5,574,608 B (00.58%) -- {59c81df5-4b7a-477b-912d-4e0fdf64e5f2} -│ │ ├──5,529,280 B (00.57%) -- window-objects -│ │ │ ├──4,175,584 B (00.43%) ++ top(chrome://chatzilla/content/chatzilla.xul, id=4293) -│ │ │ └──1,353,696 B (00.14%) ++ top(chrome://chatzilla/content/output-window.html, id=4298) -│ │ └─────45,328 B (00.00%) ++ js-non-window/zones/zone(0x100496800)/compartment([System Principal], file:///Users/njn/Library/Application%20Support/Firefox/Profiles/puna0zr8.new/extensions/%7B59c81df5-4b7a-477b-912d-4e0fdf64e5f2%7D/components/chatzilla-service.js) -│ └───1,872,144 B (00.19%) ++ treestyletab@piro.sakura.ne.jp/js-non-window/zones/zone(0x100496800)</pre> - -<p>Моменты, на которые стоит обратить внимание. </p> - -<ul> - <li>Измерения некоторых дополнений, таких как Tree Style Tab, можно опознать по имени. Другие дополнения идентифицируются только по шестнадцатиричному идентификатору. На странице about:support вы можете узнать, к какому дополнению относится тот или иной идентификатор. Например, <code>59c81df5-4b7a-477b-912d-4e0fdf64e5f2</code> это Chatzilla.</li> - <li>Вся используемая JavaScript память, относящаяся к дополнениям, показывается в этом дереве.</li> - <li>Для дополнений, использующих отдельные окна, таких как Chatzilla, потребление памяти этими окнами также показывается в этом дереве.</li> - <li>Для дополнений, использующих XUL overlays, таких как AdBlock Plus, потребление памяти этими overlays в данном дереве отображено не будет; вместо этого оно будет отображено в поддереве non-add-on и не будет идентифицировано как вызванное определенным дополнением.</li> -</ul> - -<h4 id="Прочие_измерения_(Other_Measurements)">Прочие измерения (Other Measurements)</h4> - -<p>Этот раздел содержит деревья, которые в дереве "explicit" были урезаны и упрощены. Например, в дереве "explicit" все измерения DOM и layout были разбиты по окнам, но в секции Прочие измерения (Other Measurements) они собраны со всего браузера и сгруппированы, что и демонстрирует следующий пример.</p> - -<pre>26.77 MB (100.0%) -- window-objects -├──14.59 MB (54.52%) -- layout -│ ├───6.22 MB (23.24%) ── style-sets -│ ├───4.00 MB (14.95%) ── pres-shell -│ ├───1.79 MB (06.68%) ── frames -│ ├───0.89 MB (03.33%) ── style-contexts -│ ├───0.62 MB (02.33%) ── rule-nodes -│ ├───0.56 MB (02.10%) ── pres-contexts -│ ├───0.47 MB (01.75%) ── line-boxes -│ └───0.04 MB (00.14%) ── text-runs -├───6.53 MB (24.39%) ── style-sheets -├───5.59 MB (20.89%) -- dom -│ ├──3.39 MB (12.66%) ── element-nodes -│ ├──1.56 MB (05.84%) ── text-nodes -│ ├──0.54 MB (02.03%) ── other -│ └──0.10 MB (00.36%) ++ (4 tiny) -└───0.06 MB (00.21%) ── property-tables</pre> - -<p>Но некоторые деревья в этом разделе не включают в себя данные из дерева "explicit". К таким можно отнести "preference-service" из примера выше.</p> - -<p>В конце этого раздела находятся еденичные измерения:</p> - -<pre> 0.00 MB ── canvas-2d-pixels - 5.38 MB ── gfx-surface-xlib - 0.00 MB ── gfx-textures - 0.00 MB ── gfx-tiles-waste - 0 ── ghost-windows - 109.22 MB ── heap-allocated - 164 ── heap-chunks - 1.00 MB ── heap-chunksize - 114.51 MB ── heap-committed - 164.00 MB ── heap-mapped - 4.84% ── heap-overhead-ratio - 1 ── host-object-urls - 0.00 MB ── imagelib-surface-cache - 5.27 MB ── js-main-runtime-temporary-peak - 0 ── page-faults-hard - 203,349 ── page-faults-soft - 274.99 MB ── resident - 251.47 MB ── resident-unique -1,103.64 MB ── vsize</pre> - -<p>Среди этих измерений некоторые хочется выделить.</p> - -<ul> - <li>"resident". Использование физической памяти. Если вам нужен один единственный параметр, обощающий использование памяти, то это, возможно, лучший вариант.</li> - <li>"vsize". Использование виртульаной памяти. Зачастую бывает намного больше остальных измерений (особенно на Mac). Имеет значение только на 32-разрядных системах, например Win32. Существует также "vsize-max-contiguous" (измереяется не на всех платформах и в этом примере не показан), который показывает самый большой доступный фрагмент виртуального адрессного пространства. Если это число будет слишком маленьким, то довольно скоро попытка выделить память вызовет ошибку из-за недостатка виртуальной памяти.</li> - <li>Различные измерения, связанные с графикой ("gfx-*"). Могут варьироваться между разными платформами. Графика часто является источником высокого использования памяти, так что эти измерения могут быть полезны для обнаружения таких случаев.</li> -</ul> - -<h4 id="Система">Система</h4> - -<p>Этот раздел доступен только на Firefox OS. Он содержит все измерения устройства, полученные от операционной системы. Среди прочего, этот раздел бывает полезен для понимания как устройство использует память здесь и сейчас.</p> diff --git a/files/ru/mozilla/performance/index.html b/files/ru/mozilla/performance/index.html deleted file mode 100644 index a6f45c1158..0000000000 --- a/files/ru/mozilla/performance/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Быстродействие -slug: Mozilla/Performance -tags: - - TopicStub - - Быстродействие - - Производительность - - Профайлер - - Утечки памяти - - Энергопотребление -translation_of: Mozilla/Performance ---- -<p>Собранные здесь статьи помогут вам повысить быстродействие, если вы пишете исходный код ядра Mozilla или дополнения к нему.</p> - -<table class="topicpage-table"> - <tbody> - <tr> - <td> - <h3 id="Документация">Документация</h3> - - <dl> - <dt><a href="/en/Performance/Reporting_a_Performance_Problem" title="en/Performance/Reporting_a_Performance_Problem">Reporting a Performance Problem</a></dt> - <dd>Удобное для пользователя руководство по составлению отчетов по проблемам быстродействия. Среда разработки не требуется.</dd> - <dt><a href="https://developer.mozilla.org/ru/Add-ons/%D0%A0%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D0%B0%D1%86%D0%B8%D0%B8_%D0%BF%D0%BE_%D0%BF%D0%BE%D0%B2%D1%8B%D1%88%D0%B5%D0%BD%D0%B8%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D0%B9" title="en/Extensions/Performance best practices in extensions">Рекомендации по повышению производительности расширений</a></dt> - <dd>Гайд по производительности для разработчиков дополнений.</dd> - <dt><a href="/en/Performance/Measuring_add-on_startup_performance" title="en/Measuring Add-on Startup Performance">Measuring Add-on Startup Performance</a></dt> - <dd>Гайд для разработчиков дополнений по настройке окружения для тестирования производительности.</dd> - <dt><a href="/en/XUL_School/Appendix_A:_Add-on_Performance" title="en/XUL School/Appendix A: Add-on Performance">Школа XUL: Производительность дополнений</a></dt> - <dd>Заметки для разработчиков дополнений для помощи в избежании ухудшения производительности приложений.</dd> - <dt><a href="/en/Performance/GPU_performance" title="en/GPU performance">Производительность GPU</a></dt> - <dd>Заметки для профилирования и улучшения производительности при использовании GPU.</dd> - </dl> - - <p><span class="alllinks"><a class="internal" href="/Special:Tags?tag=Performance" title="Special:Tags?tag=Performance">Просмотреть все страницы с пометками «Производительность»...</a></span></p> - - <h3 id="Утилиты_профилирования_и_поиска_утечек">Утилиты профилирования и поиска утечек</h3> - - <dl> - <dt><a href="/en-US/docs/Mozilla/Performance/about:memory">about:memory</a></dt> - <dd>Страница about:memory - это простейший инструмент для измерения потребления памяти, и первое, с чего следует начинать при анализе. Позволяет выполнить относящиеся к памяти операции, такие как запуск сборщика мусора и сборщика циклических ссылок, сохранение дампа памяти сборщика мусора и сборщика циклических ссылок, сохранение дампа отчета DMD. Страница about:memory построена на верхнем уровне инфраструктуры <a href="/en-US/docs/Mozilla/Performance/Memory_reporting">отчетов памяти</a> Firefox.</dd> - <dt><a href="/en-US/docs/Mozilla/Performance/DMD">Профайлер DMD</a></dt> - <dd>DMD - это инструмент, который находит проблемные места на странице about:memory, и также может выполнять множество видов проверок кучи.</dd> - <dt><a href="https://areweslimyet.com/">areweslimyet.com</a></dt> - <dd>Сайт areweslimyet.com (аббревиатура AWSY), показывающий потребление памяти различными версиями сборок Firefox.</dd> - <dt><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Performance/BloatView">BloatView</a></dt> - <dd>BloatView для каждого класса показывает статистику по выделенным блокам и ссылкам, а также общую величину объема памяти, подвергшегося утечке, с разбивкой по классам. Используется как часть процесса тестирования в непрерывной интеграции сборок Mozilla.</dd> - <dt><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Refcount_tracing_and_balancing">Трассировка и балансировка ссылок</a></dt> - <dd>Трассировка и балансировка ссылок - это способы отслеживания утечек памяти, вызванных неправильным использованием механизма подсчета ссылок (reference counting). Эти способы медлительны и не просты в применении, поэтому больше подходят для опытных разработчиков.</dd> - <dt><a href="/en-US/docs/Mozilla/Performance/GC_and_CC_logs">Логи сборщика мусора и сборщика циклических ссылок</a></dt> - <dd>Логи сборщика мусора и сборщика циклических ссылок могут быть созданы и проанализированы разными способами. Например, они помогут вам понять, почему конкретный объект не был уничтожен и продолжает жить.</dd> - <dt><a href="/en-US/docs/Mozilla/Testing/Valgrind">Valgrind</a></dt> - <dd><a class="external text" href="http://valgrind.org/" rel="nofollow">Valgrind</a> - это инструмент, который выявляет различные связанные с памятью проблемы во время выполнения, включая утечки памяти. Valgring используется как <a class="external text" href="/en-US/docs/Valgrind_test_job" rel="nofollow">часть</a> процесса тестирования в непрерывной интеграции сборок Mozilla, однако покрытие кода тестами ограничено, так как Valgring медлителен.</dd> - <dt><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Testing/Firefox_and_Address_Sanitizer#LeakSanitizer">LeakSanitizer</a></dt> - <dd><span class="external text">LeakSanitizer</span> (аббревиатура LSAN) - похож на Valgrind, но выполняется быстрее, потому что использует статический анализ исходного кода. LSAN является частью процесса тестирования в непрерывной интеграции сборок Mozilla, с множеством тестов, выполняющихся через него как часть тестовых задач инструмента AdressSanitizer (ASAN).</dd> - <dt><a href="http://developer.apple.com/documentation/Performance/Conceptual/ManagingMemory/Articles/FindingLeaks.html">Инструменты Apple</a></dt> - <dd>Apple предоставляет несколько интрументов для Mac OS X, которые выявляют проблемы, аналогичные выявляемым инструментами LSAN и Valgrind. Этот инструмент для выявления "утечек" не рекомендуется использовать с движком SpiderMonkey или браузером Firefox, потому что его запутывают меченые указатели (tagged pointers) и он думает, что объекты текут, когда это не так (подробнее см. <a class="external text" href="https://bugzilla.mozilla.org/show_bug.cgi?id=390944" rel="nofollow">ошибку 390944</a>).</dd> - <dt><a href="/en-US/docs/Mozilla/Performance/Leak_Gauge">Leak Gauge</a></dt> - <dd>Leak Gauge - это инструмент, который может быть использован для выявления определенных видов утечек в движке Gecko, включая те, что связаны с документами, объектами окон, и docshell-ами.</dd> - <dt><a href="http://dxr.mozilla.org/mozilla-central/source/memory/replace/logalloc/README">LogAlloc</a></dt> - <dd>LogAlloc - это инструмент, с помощью которого можно получить лог дампа памяти движка Gecko. Этот лог можно впоследствии самостоятельно повторно воспроизвести на дефолтном распределителе памяти браузера Firefox или на другой библиотеке с измененной функцией выделения блоков памяти malloc, включая тестирование других выделенных блоков под точно такой же рабочей нагрузкой.</dd> - </dl> - - <p>Смотрите также документацию <a href="/en-US/docs/Mozilla/Performance/Leak-hunting_strategies_and_tips">Стратегии и советы по выявлению утечек памяти</a>.</p> - </td> - <td> - <h3 id="Профилировка_и_интрументы_анализа_производительности">Профилировка и интрументы анализа производительности</h3> - - <dl> - <dt><a href="https://developer.mozilla.org/en-US/docs/Tools/Performance" title="en/Performance/Profiling with the Built-in Profiler">Профилировка с помощью профайлера Developer Tools Profiler</a></dt> - <dd>Профайлер, встроенный в инструментарий разработчика, включает в себя водопад высокого уровня (high-level waterfall), детализированное дерево вызовов, профилировку размещенных блоков памяти и профилировку сборщика мусора, а также графики пламени (flame graphs). Все это доступно на всех платформах и каналах релизов, а также поддерживает удаленную профилировку в операционной системе b2g (Boot to Gecko = Firefox OS) и профилировку браузера Fennec (версия Firefox, адаптированная для смартфонов).</dd> - </dl> - - <dl> - <dt><a href="/en/Performance/Profiling_with_the_Built-in_Profiler" title="en/Performance/Profiling with the Built-in Profiler">Профилировка с помощью дополнения Gecko Profiler</a> {{ gecko_minversion_inline("16.0") }}</dt> - <dd>Дополнение Gecko Profiler - хороший инструмент, с которого можно начать исследования.</dd> - <dt><a href="/en/Performance/Profiling_with_Instruments" title="en/Performance/Profiling with Instruments">Профилировка с помощью Instruments</a></dt> - <dd>Как использовать Instruments от компании Apple для профилировки кода Mozilla.</dd> - <dt><a href="/en/Performance/Profiling_with_Xperf" title="en/Performance/Profiling with Xperf">Профилировка с помощью Xperf</a></dt> - <dd>Как использовать утилиту Xperf от компании Microsoft для профилировки кода Mozilla.</dd> - <dt><a href="/en/Performance/Profiling_with_Zoom" title="en/Performance/Profiling with Zoom">Профилировка с помощью Zoom</a></dt> - <dd>Zoom - это профайлер под Linux от создателей профайлера Shark.</dd> - <dt><a href="/en/Performance/Measuring_performance_using_the_PerfMeasurement.jsm_code_module" title="en/Performance/Measuring performance using the PerfMeasurement.jsm code module">Измерение производительности с помощью модуля PerfMeasurement.jsm</a> {{ gecko_minversion_inline("2.0") }}</dt> - <dd>Использование модуля <a href="/en/JavaScript_code_modules/PerfMeasurement.jsm" title="en/JavaScript code modules/PerfMeasurement.jsm"><code>PerfMeasurement.jsm</code></a> для измерения характеристик производительности вашего кода JavaScript.</dd> - <dt><a href="/en-US/docs/Performance/Adding_a_new_Telemetry_probe" title="https://developer.mozilla.org/en-US/docs/Performance/Adding_a_new_Telemetry_probe">Добавление нового датчика телеметрии</a></dt> - <dd>Информация о том, как добавить в отчет о производительности системы телеметрии новую характеристику для измерения.</dd> - <dt><a href="/en/Performance/Profiling_JavaScript_with_Shark" title="en/Performance/Profiling JavaScript with Shark">Профилировка JavaScript с помощью Shark</a> {{ gecko_minversion_inline("1.9") }}</dt> - <dd>Как использовать профайлер Shark под Mac OS X для анализа кода JavaScript в браузере Firefox 3.5 и более поздних версиях.</dd> - <dt><a href="/en/Performance/Profiling_with_Shark" title="en/Performance/Profiling with Shark">Профилировка с помощью Shark</a></dt> - <dd>Как использовать инструмент Shark от компании Apple для профилировки кода Mozilla.</dd> - <dt><a href="/en-US/docs/Mozilla/Performance/Investigating_CSS_Performance">Исследование производительности каскадных таблиц стилей CSS</a></dt> - <dd>Как выяснить, почему изменение стиля с помощью CSS занимает так много времени.</dd> - </dl> - - <h3 id="Профилировка_энергопотребления">Профилировка энергопотребления</h3> - - <dl> - <dt><a href="/en-US/docs/Mozilla/Performance/Power_profiling_overview">Общая информация о профилировке энергопотребления</a></dt> - <dd>На этой странице предоставлен обзор важной информации, в том числе подробная информация о принципах работы аппаратного обеспечения, о том, какие характеристики можно измерять, какие методы рекомендуется использовать. Эта статья должна стать отправной точкой для тех, кто пока мало знаком с профилировкой энергопотребления.</dd> - <dt><code><a href="/en-US/docs/Mozilla/Performance/tools_power_rapl">tools/power/rapl</a></code> (Mac, Linux)</dt> - <dd><code>tools/power/rapl</code> - это консольная утилита в наборе исходных кодов Mozilla, которая использует интерфейс Intel RAPL для оценки энергопотребления пакета, ядер процессора, графического процессора и оперативной памяти.</dd> - <dt><code><a href="/en-US/docs/Mozilla/Performance/powermetrics">powermetrics</a></code> (только для платформы Mac)</dt> - <dd><code>powermetrics</code> - это консольная утилита, которая собирает и показывает целый ряд характеристик по всем имеющимся процессам и отдельно по каждому процессу, включая использование центрального процессора, графического процессора, и частоты пробуждения потоков процесса.</dd> - <dt><a href="/en-US/docs/Mozilla/Performance/TimerFirings_logging">Журналирование TimerFirings</a> (Все платформы)</dt> - <dd>Журналирование TimerFirings - это встроенный механизм записи событий для вывода на экран данных о каждом срабатывании таймера.</dd> - <dt><code><a href="/en-US/docs/Mozilla/Performance/dtrace">dtrace</a></code> (только для платформы Mac)</dt> - <dd><code>dtrace</code> - это мощный инструмент для профилировки пробуждений потоков процесса.</dd> - <dt><a href="/en-US/docs/Mozilla/Performance/Activity_Monitor_and_top">Activity Monitor, меню Battery Status и консольная утилита <code>top</code></a> (Mac)</dt> - <dd>Эти инструменты являются основными для пользователей Mac, которые рекомендуется изучить в первую очередь.</dd> - <dt><a href="/en-US/docs/Mozilla/Performance/Intel_Power_Gadget">Intel Power Gadget</a> (Windows, Mac, Linux)</dt> - <dd>Intel Power Gadget в режиме реального времени показывает графы для пакетов и RAPL-характеристики процессора. От также дает API, посредством которых эти характеристики могут быть получены.</dd> - <dt><code><a href="/en-US/docs/Mozilla/Performance/perf">perf</a></code> (только для Linux)</dt> - <dd><code>perf</code> - это мощная консольная утилита может измерять множество различных параметров, включая характеристики энергопотребления и пробуждения потоков процесса.</dd> - <dt><code><a href="/en-US/docs/Mozilla/Performance/turbostat">turbostat</a></code> (только для Linux)</dt> - <dd><code>turbostat</code> - это консольная утилита, которая собирает и показывает разные связанные с энергопотреблением характеристики, делая акцент на показателях по каждому отдельному процессору, таких как частоты и режимы энергопотребления процессора.</dd> - <dt><code><a href="https://01.org/powertop">powertop</a></code> (только для Linux)</dt> - <dd><code>powertop</code> - это интерактивная консольная утилита, который собирает и показвает разные связанные с энергопотреблением характеристики.</dd> - </dl> - - <h3 id="Связанные_темы">Связанные темы</h3> - - <dl> - <dd><a href="/en/JavaScript" title="en/JavaScript">JavaScript</a>, <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a>, <a href="/En/Developer_Guide" title="en/Developing_Mozilla">Developing Mozilla</a>, <a href="/en/Extensions" title="en/Extensions">Extensions</a>, <a href="/en/Addons" title="en/Addons">Addons</a></dd> - </dl> - </td> - </tr> - </tbody> -</table> - -<p> </p> |