Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Антон Епрев
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
FrontFest
November 21, 2017
Programming
710
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Антон Епрев
FrontFest
November 21, 2017
More Decks by FrontFest
See All by FrontFest
Тим Чаптыков
frontfest
0
1.2k
Егор Банщиков
frontfest
0
900
Jose M. Perez
frontfest
0
760
Алексей Иванов
frontfest
0
1.4k
Екатерина Пригара
frontfest
0
720
Léonie Watson
frontfest
0
780
Кирилл Чернышев
frontfest
0
770
Виктор Грищенко
frontfest
0
660
Игорь Алексеенко
frontfest
0
510
Other Decks in Programming
See All in Programming
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
140
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
410
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
140
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
120
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
1
230
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
170
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
2
500
高専キャリア LT 発表内容
crysta1221
6
5.6k
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
460
スマート反転とウェブアクセシビリティ
camiha
0
140
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
550
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
690
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
770
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
580
Google's AI Overviews - The New Search
badams
0
1.6k
Un-Boring Meetings
codingconduct
0
410
How to train your dragon (web standard)
notwaldorf
97
6.8k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
650
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
530
Practical Orchestrator
shlominoach
191
12k
Transcript
История одной метрики производительности в Booking.com Антон Епрев @eprev
Статья Jake Archibald о rel=noopener – goo.gl/kLUYba <a href="https://example.com" target="_blank"
rel="noopener" > … </a>
None
A/B тестирование
<a href="…" target="_blank" > … </a> <a href="…" target="_blank" rel="noopener"
> … </a> A B
Не измерив, не улучшить!
Как собирать фреймрейт метрику* 1. Собирайте релевантные данные 2. Сводите
к минимуму эффект наблюдателя 3. Избегайте смещения выборки * И любую другую метрику производительности
«Time to Scroll»
Фреймрейт сервис let stopped = true; let timer; window.addEventListener("scroll", ()
=> { if (stopped) { stopped = false; start(); } else { clearTimeout(timer); } timer = setTimeout(() => stopped = true, 200); });
Фреймрейт сервис (продолжение) function start() { let frames = 0;
const ts = performance.now(); requestAnimationFrame(function raf() { frames++; if (stopped) { const fps = Math.round( frames * 1000 / (performance.now() - ts) ); } else { requestAnimationFrame(raf); } }); }
A/A тест: Средние значения фреймрейт 1 % 10 % 25
% 50 % 75 % 90 % 95 % 99 % 2 26 40 51 57 60 60 60
Тест rel=noopener: Средние значения фреймрейт 1 % 10 % 25
% 50 % 75 % 90 % 95 % 99 % 2 11 28 47 56 60 60 60 2 11 28 47 56 60 60 60
Jank тест (function jank() { var ts = Date.now(); while
(Date.now() - ts < 30); setTimeout(jank, 100); }());
Jank тест: Средние значения фреймрейт 1 % 10 % 25
% 50 % 75 % 90 % 95 % 99 % 3 29 42 52 58 60 60 60 2 24 38 49 55 59 60 60
Кол-во сессий и средние значения фреймрейт (desktop)
Кол-во сессий и средние значения фреймрейт (mobile)
Конверсия и средние значения фреймрейт X 6X
IE9 jank тест: Средние значения фреймрейт 1 % 10 %
25 % 50 % 75 % 90 % 95 % 99 % 2 25 37 44 50 55 59 60 2 22 32 40 46 52 55 60
Резюме – Не пытайтесь улучшить то, чего не можете увидеть
– Собирайте релевантные метрики – Избегайте необъективности – Что работает для нас, может не работать для вас
Спасибо! Антон Епрев @eprev