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
Quarkus を用いて Java ランタイムの Lambda コールドスタートによる遅延を解...
Search
tsuchinoko
February 06, 2020
Programming
0
640
Quarkus を用いて Java ランタイムの Lambda コールドスタートによる遅延を解決したかった
2020年2月6日(木)に「JAWS-UG Osaka 『知ってると役立つ、AWSちょいテク祭り』」のLT枠でお話させていただいた内容です。
tsuchinoko
February 06, 2020
Tweet
Share
More Decks by tsuchinoko
See All by tsuchinoko
Rust で DDD を実践しながら API サーバーを実装・構築した(つもり)
tsuchinoko
0
410
ごめんやっぱり早いよ SNS/SQS
tsuchinoko
0
1.2k
Other Decks in Programming
See All in Programming
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
120
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
TypeScript LSP の今までとこれから
quramy
1
510
Benchmark
sysong
0
220
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
41
27k
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
300
Is Xcode slowly dying out in 2025?
uetyo
1
130
関数型まつりレポート for JuliaTokai #22
antimon2
0
130
GoのGenericsによるslice操作との付き合い方
syumai
2
670
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
260
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
CursorはMCPを使った方が良いぞ
taigakono
0
130
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Being A Developer After 40
akosma
90
590k
Facilitating Awesome Meetings
lara
54
6.4k
For a Future-Friendly Web
brad_frost
179
9.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Fireside Chat
paigeccino
37
3.5k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Gamification - CAS2011
davidbonilla
81
5.3k
Transcript
ίʔϧυελʔτʹΑΔԆΛ גࣜձࣾϦϯίʔυ Ԭ㟒ɹਖ਼ޛ !UTVDIJOPLP Λ༻͍ͯɺ ϥϯλΠϜͷ ղܾͨ͠ ͔ͬͨ ݄ʢ
+"846(0TBLB ʮͬͯΔͱཱͭɺ"84ͪΐ͍ςΫࡇΓʯ
ίʔϧυελʔτʹΑΔԆΛ גࣜձࣾϦϯίʔυ Ԭ㟒ɹਖ਼ޛ !UTVDIJOPLP Λ༻͍ͯɺ ϥϯλΠϜͷ ղܾͨ͠ ͔ͬͨ ݄ʢ
+"846(0TBLB ʮͬͯΔͱཱͭɺ"84ͪΐ͍ςΫࡇΓʯ ਓੜॳొஃ ˍ "84ྺϲ݄
࣭
"84-BNCEB Λ͍ͬͯΔํʁ
ϥϯλΠϜԿͰ͔͢ʁ
+BWB ॳճىಈ͕ ͍ ࢀߟɿIUUQBDSPFOHJOFFSIBUFOBCMPHDPNFOUSZ
+BWBϥϯλΠϜͰ ϝϞϦͷઃఆΛ ࠷খʹ͍ͯ͠Δͱ ಈ͔ͳ͍ ࢀߟɿIUUQBDSPFOHJOFFSIBUFOBCMPHDPNFOUSZ
ٹੈओ ʢ͒͘ʔ͔͢ʣ
8IBUJT2VBSLVT w ,VCFSOFUFTαʔόʔϨεڥʹ ͓͍ͯɺ+BWBΛઌਐతͳϓϥοτϑΥʔϜ ʹ͢Δ͜ͱΛࢦͨ͠ϑϨʔϜϫʔΫ ᶃ *NQFSBUJWFͳϞσϧͱ3FBDUJWFͳϞ σϧͷ྆ํΛՄೳʹ͢Δɹ ᶄ ɹɹɹɹɹΛར༻ͯ͠ωΠςΟϒ
όΠφϦΛ࡞͠ɺίϯςφԽ ىಈ࣌ؒͷॖͱϝϞϦফඅྔͷݮ Λ࣮ݱ ࢀߟɿIUUQTXXXQVCMJDLFZKQCMPHKBWBRVBSLVTKBWBKBWBSFE@IBUIUNM
࡞ͬͨͷ
Ͳ͏ͬͯ࡞͔ͬͨ jar ωΠςΟϒ Πϝʔδ ΧελϜ ϥϯλΠϜͰ
ਏ͔ͬͨɾɾɾ w +BWBͰͳ͘ɺ4DBMBͰॻ͍ͨͷͰɺઃఆϑΝΠϧΛ͍Ζ ͍Ζͱॻ͖͑ͳ͍ͱ͍͚ͳ͍ w 4DBMBͷόʔδϣϯ͕৽͗͢͠Δͱ(SBBM7.ͱͷ݉Ͷ߹͍Ͱ ωΠςΟϒίϯύΠϧ͕Ͱ͖ͳ͍ w ωΠςΟϒΠϝʔδʹ͢Δࡍʹɺ)5514௨৴ʹඞཁͳϥΠϒ ϥϦ͕ΰοιϦܽམ͢Δ͜ͱʹؾͮ͘ͷʹ͕͔͔࣌ؒͬͨ
ͳΜͱ͔Ͱ͖ͨͷͰ ݕূ
ىಈ࣌ؒ Java ΧελϜ 1ճ 11251.75 ms 1098.85 ms 2ճ 143.28
ms 104.11 ms 3ճ 161.20 ms 110.86 ms 4ճ 131.35 ms 106.22 ms 5ճ 111.90 ms 98.87 ms 6ճ 144.11 ms 109.70 ms 7ճ 171.29 ms 138.62 ms 8ճ 162.03 ms 97.86 ms 9ճ 107.35 ms 107.63 ms 10ճ 117.39 ms 173.44 ms wॳճىಈѹతͳ ࠩ wճҎ߱ͦΜͳ ʹେ͖͘มΘΒͳ ͍
࠷େফඅϝϞϦ Java ϥϯλΠϜ ΧελϜϥϯλΠϜ 117 MB 77 MB • ΧελϜϥϯλΠϜͷํ͕ফඅϝϞϦগͳ͔ͬͨ
• Java ϥϯλΠϜͷํɺLambda ͷઃఆϝϞϦΛ࠷খͷ 128 MB ʹ͢ΔͱɺOutOfMemorryError ͰΞϓϦ͕མͪΔ
Αʔ͠ɺ͜ΕͰαʔόʔϨεͳ ΞϓϦΛ4DBMB+BWBͰ όϦόϦ࡞Δͧʔ
Αʔ͠ɺ͜ΕͰαʔόʔϨεͳ ΞϓϦΛ4DBMB+BWBͰ όϦόϦ࡞Δͧʔ ͱ͜Ζ͕
·ͩਏ͍ϙΠϯτ͕͍ͭ͋ͬͨ͘ w+BWBͷݹདྷ͔ΒͷςΫχοΫͰൃੜ w ಈతͳΫϥεϩʔυ w ಈతͳόΠτίʔυΤϯϋϯεϝϯτ wطଘϥΠϒϥϦ͕(SBBM7.ʹରԠͯ͠ͳ͍ ࢀߟɿIUUQTDFSPUIBUFOBEJBSZKQFOUSZ
͔ͭ͠ແ͍ɾɾɾ w+BWBͷݹདྷ͔ΒͷςΫχοΫͰൃੜ w ಈతͳΫϥεϩʔυ w ಈతͳόΠτίʔυΤϯϋϯεϝϯτ wطଘϥΠϒϥϦ͕(SBBM7.ʹରԠͯ͠ͳ͍ (SBBM7.ͷόʔδϣϯΞοϓ ϥΠϒϥϦͷόʔδϣϯΞοϓ
ৄ͍࣮͠ͳͲฐࣾͷٕज़ϒϩάͰʜ IUUQTCMPHMJOLPEFDPKQ
·ͱΊ w+BWBͷ৽͍͠ϑϨʔϜϫʔΫͰ͋Δ 2VBSLVTΛͬͯΈͨ w+BWBͰ࡞ͬͨ"84-BNCEBΛར༻ͨ͠Ξ ϓϦͷॳճىಈͷ͞ղܾͰ͖ͦ͏ wͨͩ͠ɺ(SBBM7.ϥΠϒϥϦͷରԠ͕͍ ͍͍ͭͯͳ͍͕͋ΔͨΊɺࠓޙࢹ͢Δ ඞཁ͕͋Γͦ͏