29 апр. 2015 г.

Chrome Canary + IRHydra 2

How to retrieve files for IRHydra 2:

  1. Install Chrome Canary
  2. Go to its installation directory (%LOCALAPPDATA%\Google\Chrome SxS\Application\ on Windows), there should be chrome.exe
  3. Create script with all needed flags:
    @echo off
    chrome.exe --no-sandbox --js-flags="--trace-hydrogen --trace-phase=Z --trace-deopt --code-comments --hydrogen-track-positions --redirect-code-traces"
  4. Run script. Chrome window should open. If needed, dismiss warning about unsupported "sandbox" option.
  5. In that Chrome window go to the URL you want to gather information about.
  6. Close Chrome.
  7. Go to Chrome Canary binary folder (e.g. %LOCALAPPDATA%\Google\Chrome SxS\Application\44.0.2385.0\ on Windows). There should be files "code-*-1.asm" and "hydrogen-*-1.cfg", they are created in pairs for each Chrome process while tracing.
  8. Pick the proper pair of files (usually the latest and biggest ones), move to another folder, delete the rest.
  9. Go to http://mrale.ph/irhydra/2/
  10. Click on folder icon in upper left corner, select those two "code-*-1.asm" and "hydrogen-*-1.cfg" files.

Оптимизация — это культура

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

http://mrale.ph/blog/2015/04/12/jsunderhood.html