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
denisx
December 22, 2020
Programming
0
100
Крипто-анархисты
Про то, как разработчики любят греть устройства пользователей.
denisx
December 22, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
Fluid Templating in TYPO3 14
s2b
0
130
CSC307 Lecture 02
javiergs
PRO
1
780
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
620
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
960
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
700
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.4k
CSC307 Lecture 07
javiergs
PRO
0
550
CSC307 Lecture 01
javiergs
PRO
0
690
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
100
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Between Models and Reality
mayunak
1
190
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
170
The Mindset for Success: Future Career Progression
greggifford
PRO
0
240
The browser strikes back
jonoalderson
0
370
Testing 201, or: Great Expectations
jmmastey
46
8k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Automating Front-end Workflow
addyosmani
1371
200k
Transcript
Крипто-анархисты про то , как разработчики любят греть устройства пользователей
Форматирование не нужно Kb raw gz br \s \t \r
\n 178 26.7 19.6 string 130 25.2 19.1
Объединение файлов name / Kb raw br 1 11,1 1,4
2 13,8 2,7 3 102,3 15,0 sum 127,2 19,1 name / Kb raw br 1 + 2 + 3 127,2 18,3
UUID → Base 64 16 ^ 32 = 3,4 e38
340 миллиардов миллиардов миллиардов миллиардов комбинаций 64 ^ 21 = 8,5 e37 в 4 раза меньше вариантов, “всего” 85 млрд ^ 4 комбинаций UUID 4ef5ecde-b66f-4f46-b0c8-6b32f2b456b4 Base64 s83gdeAd34327Dwq2n3Ci
Компрессия хешей почти не работает name \ Kb словарь длина
строки raw br uuid 16 36 36 18,4 uuid 16 32 32 16,5 b64 64 21 21,5 16,0 id (1-7000) 10 1-4 4,8 1,9 id (16 ^ 4) 16 4 4,9 2,4 id (64 ^ 3) 64 3 3,9 2,5 нужно уменьшать сам хеш 1000 id
Geo .14 → .5 Координаты: 55.69450663197533, 37.66262491249896 точность 1,5 метра:
55.69450, 37.66262 (вход в здание) точность 15 метров: 55.6945, 37.6626 (само здание) 500 geo-points length raw br .14 18,7 7,1 .5 9,2 2,5
Получайте только нужные поля name, Kb raw br orig 235
34 short 89 19
Хеши необходимый длины name, Kb raw br orig 89 19
short 74 10
Алиасинг ключей name, Kb raw br orig 50,9 9,3 short
36,5 9,0
Уменьшение словаря name, Kb raw br orig 36,5 9,0 short
35,9 8,9
Изменение формата {"fiasId":"4ef5","ajsonId":1028,"cityNameRus ":"Шушары","path":"shushary","regionId":47} {"a":"4ef5","b":1028,"c":" Шушары","d":"shushary","e":47} ["4ef5",1028,"Шушары","shushary",47] 4ef5 1028 Шушары
shushary 47 name, Kb raw br orig 45,0 8,3 short key 32,6 8,0 array 20,0 7,5 csv (tsv) 16,8 7,3
Сжатие на лету !== сжатию для билда br level Kb
0 29,0 5 19,6 9 18,4 11 15,4 Raw 141 Kb Сжатие на лету обычно на 20-30% хуже
Спасибо, пока! Статья про стратегию уменьшения размера css- имён dev.to/denisx/reduce-bundle-size-via-one-letter-css-classname-hash-strategy-10g6
t.me/denisx | twitter.com/denisx