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.
→
denisx
December 22, 2020
Programming
0
100
Крипто-анархисты
Про то, как разработчики любят греть устройства пользователей.
denisx
December 22, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
190
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
400
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.1k
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
190
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
CSC307 Lecture 02
javiergs
PRO
1
780
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
970
高速開発のためのコード整理術
sutetotanuki
1
400
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
30 Presentation Tips
portentint
PRO
1
220
Bash Introduction
62gerente
615
210k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
The untapped power of vector embeddings
frankvandijk
1
1.6k
Building the Perfect Custom Keyboard
takai
2
680
Un-Boring Meetings
codingconduct
0
200
Building an army of robots
kneath
306
46k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
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