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
The Cacher in the Rye
Search
Tsukasa OISHI
December 07, 2018
Programming
1
5.9k
The Cacher in the Rye
Tsukasa OISHI
December 07, 2018
Tweet
Share
More Decks by Tsukasa OISHI
See All by Tsukasa OISHI
怖くないメモリ肥大化
tsukasa_oishi
1
100
SLI/SLO をストリーム アラインドチームに導入した話
tsukasa_oishi
0
190
JITをたどるとそこはYARVの中
tsukasa_oishi
0
580
ISeqで遊ぼう
tsukasa_oishi
0
5.2k
Rubyを30倍速くした話
tsukasa_oishi
0
1.2k
はてブ砲をくらったときのお話
tsukasa_oishi
0
2.2k
食べログで動いている自作ライブラリのお話
tsukasa_oishi
0
310
奥さんとプログラミングを両立させる方法
tsukasa_oishi
0
87
MiyazakiResistanceを作ってみたよ
tsukasa_oishi
0
1k
Other Decks in Programming
See All in Programming
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
120
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
150
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
200
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4.1k
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
320
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.4k
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
510
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
150
Cell-Based Architecture
larchanjo
0
150
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.5k
Patterns of Patterns
denyspoltorak
0
400
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
0
450
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
110
How STYLIGHT went responsive
nonsquared
100
6k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
400
The Invisible Side of Design
smashingmag
302
51k
Embracing the Ebb and Flow
colly
88
4.9k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
It's Worth the Effort
3n
187
29k
Ruling the World: When Life Gets Gamed
codingconduct
0
120
Information Architects: The Missing Link in Design Systems
soysaucechin
0
720
Transcript
Tsukasa Oishi tsukasaoishi 5IF$BDIFSJOUIF3ZF
͓͓͍͔ͭ͠͞
None
None
None
None
GSBHNFOUDBDIF
ߋ৽සͷ͍ίϯςϯπ
-40 -20 0 20 40 4݄ 5݄ 6݄ 7݄ 8
-40 -20 0 20 40 4݄ 5݄ 6݄ 7݄ 8
Eviction
256B 307B
256B 307B
256B 307B
256B 307B
256B 307B
256B 307B
256B 307B
256B 307B
256B 307B
256B 307B
256B 307B
256B 307B
NFNDBDIFE࠶ىಈ
3BJMTσϑΥϧτͰΩϟογϡۭ͕ؒͻͱͭ
ڧ͍͕ͭಠΓΊ
CJU[FS@TUPSFHFN STU@PCKFDUT VTFS@GPPUFS TIBSFE STU@GPPUFS FYUFSOBM
CJU[FS@TUPSFHFN Rails.cache.fetch(key, sheep: :rst_footer) STU@PCKFDUT VTFS@GPPUFS EFGBVMU STU@GPPUFS FYUFSOBM
PCKFDUDBDIF
3FTUBVSBOUpOE@CZ@DBDIF JE
3BJMTDBDIFGFUDI ʜ EP 3FTUBVSBOUQSFMPBE SFTUBVSBOU@TDPSF QSFGFDUVSF DBUFHPSZ@BT
pOE JE FOE
৯ϩάͷ͋ͪΒͪ͜ΒͰ ΘΕΔΑ͏ʹͳͬͨ
Benchmark.driver do |x| x.report "AR", %|Restaurant.preload( :restaurant_score, :prefecture, :category_as ).find(1)|
x.report "cache", %|Rails.cache.read(“1")| x.report "mono", %|Restaurant.find(1)| x.compare! end
mono: 1887.1 i/s cache: 729.3 i/s - 2.59x slower AR:
57.5 i/s - 32.84x slower
3FTUBVSBOUΦϒδΣΫτ͕ཉ͍͚ͩ͠ͳΒ ;ͭ͏ʹ3FTUBVSBOUpOEͨ͠΄͏͕ ͔ͬͨʜ
Ωϟογϡʹ ίετ͕͔͔Δ
طଘͷίʔυͯ͠·ͤΜ
mono: 1887.1 i/s cache: 729.3 i/s - 2.59x slower AR:
57.5 i/s - 32.84x slower 2.59ഒ ͍! େมͩ!
NTͷͩ͠ɺͦ͜ϘτϧωοΫͰͳ͍
DBDIFDMFBS
3FTUBVSBOU DSFBUFVQEBUFEFMFUF 3FTUBVSBOU PCKFDUDBDIF 3FTUBVSBOU GSBHNFOUDBDIF
SFTUBVSBOUTςʔϒ ϧʹ ΧϥϜՃͰྫ֎ൃੜ
3FTUBVSBOU DSFBUFVQEBUFEFMFUF 3FTUBVSBOU PCKFDUDBDIF 3FTUBVSBOU GSBHNFOUDBDIF 3FTUBVSBOU BMUFSUBCMF
ϚΠΫϩαʔϏε
3FTUBVSBOU DSFBUFVQEBUFEFMFUF 3FTUBVSBOU PCKFDUDBDIF 3FTUBVSBOU GSBHNFOUDBDIF 3FTUBVSBOU BMUFSUBCMF 3FTUBVSBOU DSFBUFVQEBUFEFMFUF
3FTUBVSBOU GSBHNFOUDBDIF
Ͳ͏ӡ༻͢Δʹͯ͠ίετ૿େ͢Δ
ԯਓͷਓͨͪΛ͚ͩͤ͢͜͠ʹ͢Δ XFBSFIJSJOH
Ωϟογϡ͍ΕΕ ͪΐͬͺͰ͢Α
ӡ༻Λߟ্͑ͨͰ Λݴ͓ͬͯΔͷ͔
తͱظ͢ΔޮՌ ϨεϙϯελΠϜΛ͍ͨ͘͠ αʔόϦιʔεΛิ͍͍ͨ
ӡ༻ͱίετ ΩϟογϡσʔλͷҰੜ ͯ͢ͷΩϟογϡ͕ফ͑ͨͱ͖ ΩϟογϡΛҙ࣮ࣝͨ͠ ࢹͱอक
ϦεΫ ΩϟογϡΛΊΒΕͳ͍ దͰͳ͍Ωϟογϡ͕ΘΕͨ Ωϟογϡ͕ফ͑ͳ͍ ώοτ͗ͯ͢ίετ͚͕͔͔ͩΔ
ΩϟογϡΛ͍͍ͨͱࢥͬͨͱ͖ͷߟ͑ํ
Θͳ͍
ϨεϙϯελΠϜΛ͍ͨ͘͠ αʔόϦιʔεΛิ͍͍ͨ
ͪΌΜͱߟ͑ͯઃܭͱ࣮Λ͢Ε తΛୡͰ͖Δ
Ͱɺ ͜ΕΛΖ͏ͱͨ͠Β Ͳ͏ͬͨͬͯ Ωϟογϡൈ͖͡ΌແཧͩΖ
اըͷஈ֊Ͱʮ͜Εةͳ͘ͶʁʯΛײ͡औΔ
ຊʹΓ͍ͨ͜ͱΛཧղͯ͠ ઐՈͱͯ͠ ͖ͪΜͱͨ͠ସҊΛग़͢
Ωϟογϡʹର͢Δߟ͑ํ
ෛ࠴
ෛ࠴ѱ Ͱͳ͍
͍͟ͱ͍͏ͱ͖ ֮ޛΛͬͯ ෛ࠴Λഎෛ͏
৯ϩάͰͷΩϟογϡ ेͳϦιʔε͕͋ΔͷͰجຊతʹΩϟογϡෆཁ ಥൃతͳΞΫηε૿ʹରԠ͢ΔͨΊʹ ࣌ؒ55-ͷΞΫγϣϯΩϟογϡΛ ͍ͬͯΔ͜ͱ͋Δ աڈʹ࡞ͬͯͣͬͱӡ༻͞Ε͚͍ͭͮͯΔ มͳΩϟογϡ͕͍͔ͭ͋͘ΔͷͰ ͳ͍͖͍ͯͨ͘͠
͓͠·͍