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
iOS デバッグ&プロファイル
Search
[email protected]
August 24, 2018
Programming
2
600
iOS デバッグ&プロファイル
[email protected]
August 24, 2018
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
Swift compiler 101 & How async function works
shiz
0
23
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
230
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
1.6k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
14k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
520
複雑さに立ち向かうためのコードリーディング入門
shiz
35
13k
Swift Observation
shiz
5
810
Swift Reflection
shiz
1
220
Swift Concurrency Next Step
shiz
7
8k
Other Decks in Programming
See All in Programming
エンジニア未経験が最短で戦力になるためのTips
gokana
0
260
Unlock the Potential of Swift Code Generation
rockname
0
240
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
1.3k
メモリウォールを超えて:キャッシュメモリ技術の進歩
kawayu
0
1.9k
DataStoreをテストする
mkeeda
0
280
アプリを起動せずにアプリを開発して品質と生産性を上げる
ishkawa
0
2.6k
リアルタイムレイトレーシング + ニューラルレンダリング簡単紹介 / Real-Time Ray Tracing & Neural Rendering: A Quick Introduction (2025)
shocker_0x15
1
290
技術選定を未来に繋いで活用していく
sakito
3
110
[NG India] Event-Based State Management with NgRx SignalStore
markostanimirovic
1
110
MCP調べてみました! / Exploring MCP
uhzz
2
2.2k
Empowering Developers with HTML-Aware ERB Tooling @ RubyKaigi 2025, Matsuyama, Ehime
marcoroth
1
240
Rollupのビルド時間高速化によるプレビュー表示速度改善とバンドラとASTを駆使したプロダクト開発の難しさ
plaidtech
PRO
1
160
Featured
See All Featured
Building Adaptive Systems
keathley
41
2.5k
Designing for Performance
lara
607
69k
How STYLIGHT went responsive
nonsquared
99
5.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Faster Mobile Websites
deanohume
306
31k
Building an army of robots
kneath
304
45k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
9
740
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
How to train your dragon (web standard)
notwaldorf
91
6k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Transcript
J04 σόοάϓϩϑΝΠϧ 3PQQPOHJTXJGU
ࣗݾհ wTIJ[ ͣ͠ !TU[O wडୗ։ൃձࣾۈ wϞόΠϧ͔ΒΠϯϑϥ·ͰΔ ͪΌΜΆΜΤϯδχΞ 4XJGU "OESPJE LPUMJO
"OHVMBS /PEFKT $ 1)1 +BWB wJ04ΤϯδχΞࢦ͍ͯ͠·͢
J04%$5SBDL"
ͳͷͰຊʜ
શવҧ͏Λ͠·͢
88%$ Practical Approaches to Great App Performance Advanced Debugging with
Xcode and LLDB iOS Memory Deep Dive What’s New in Energy Debugging Measuring Performance Using Logging Creating Custom Instruments
ςετΑ͘Λ ཋͼΔ͚Ͳ σόοάϓϩϑΝΠϧʁ
ςετ ༧ྍ๏ σόοά ϓϩϑΝΠϦϯά ରྍ๏
WWDCͷσόοάܳͳͲ ৭ʑݕ౼ͯ͠ΈΔ
ݪҼ͕Θ͔Βͳ͍Τϥʔ Λಛఆ͢Δ
None
&YDFQUJPO#SFBLQPJOU
None
࠶ݱʹख͕͔͔ؒΔ σόοάΛ͢Δ
༷ ̑ճࣦഊͨ͠߹ϝοηʔδΛग़ͯ͠ऴྃ͢Δ ϝοηʔδ͕ग़ͳ͍ Γ͍ͨ͜ͱ ̑ճࣦഊͨ͠ޙʹऴྃ࣌ͷॲཧͷதΛௐΔ
͕͋Δ
USVFͰࢭ·Δ ̑ճ࣮ߦ͢ΔͱUSVFʹͳΔ #SFBLQPJOUͰࢭ·ΔΑ͏ʹ͢Δ
FYQSGPSJJO \TFMGDBMDVMBUF"GUFS"OTXFS BOTXFS ^ ࣮ߦΛࢭΊͣʹճ܁Γฦࣦ͠ഊͤ͞Δ
͜ΕΛಉ࣌ʹઃఆ͢Δͱ
CSFBLQPJOUͰ ࢭ·Βͳ͘ͳΔ
USVFͰࢭ·ͬͯ͘Εͳ͍ ̑ճ࣮ߦ͢ΔͱUSVFʹͳΔ #SFBLQPJOUͰࢭ·ΔΑ͏ʹ͢Δ
None
ઃఆΛม͑ͯΈΔ
FYQSJGBMTFGPSJJO \TFMGDBMDVMBUF"GUFS"OTXFS BOTXFS ^ ࣮ߦΛࢭΊͣʹճ܁Γฦࣦ͠ഊͤ͞Δ JΛઃఆ͢Δͱ CSFBLQPJOUεΩοϓͷઃఆΛແࢹ͢Δ
͜ΕΛಉ࣌ʹઃఆ͢Δͱ
$POEJUJPO͕ແࢹ͞ΕΔ
GBMTFͳͷʹࢭ·Δ ࣮ߦճ·ͩ̎ճ
None
׳Εͱ͕ඞཁ
͏Ұͭٙ
ϝιουͷҾ ͷมߋ͕Ͱ͖ͳ͍ʁ
มΘΒͳ͍ DBMDVMBUF"GUFS"OTXFS JT3JHIU#PPM DVSSFOU1PJOUDVSSFOU1PJOU USVFʹͳ͍ͬͯΔ
มߋ͢Δͱ
& ͕ߋ৽͞Ε͍ͯΔ
׳Εͱ͕ඞཁ
ͷมߋΛ͍͔͚Δ
͕ߋ৽͞Εͳ͍
XBUDIQPJOU
None
͕มߋ͞ΕΔλΠϛϯάͰࢭ·Δ
6*ΛͦͷͰௐ͢Δ
ϓϩύςΟʹΞΫηε Ͱ͖Δ߹
None
QPRVFTUJPODFOUFSZ QP$"5SBOTBDUJPOqVTI
QPRVFTUJPODFOUFSZ QP$"5SBOTBDUJPOqVTI
ϓϩύςΟʹΞΫηε Ͱ͖ͳ͍߹ʁ
FYQSFTTJPOMPCKD 0 < 6*7JFX YGFCCEEBF SFDVSTJWF%FTDSJQUJPO> 7JFXͷ֊ߏ͕औಘͰ͖Δ
QPVOTBGF#JU$BTU YGFCCEG UP 6*-BCFMTFMG DFOUFSZ VOTBGF#JU$BTU ܕ͕ฦͬͯ͘ΔͷͰͦͷ··͑Δ
DPNNBOEBMJBT DPNNBOEBMJBTQPDFYQSFTTJPOMPCKD 0 QPD< 6*7JFX YGFCCEEBF SFDVSTJWF%FTDSJQUJPO> QPDίϚϯυΛ࡞͢Δ
DPNNBOETDSJQUJNQPSU DPNNBOETDSJQUJNQPSUdOVEHFQZ OVEHFYGFCCEG GBDFCPPLDIJTFM IUUQTHJUIVCDPNGBDFCPPLDIJTFM QZUIPOεΫϦϓτΛΠϯϙʔτ͢Δ
dMMECJOJU ىಈ࣌ʹίϚϯυΛಡΈࠐΉ dMMECJOJU9DPEF
ศརͳCSFBLQPJOU TZNCPM6*7JFX"MFSU'PS6OTBUJTpBCMF$POTUSBJOUT "VUP-BZPVUͷΛݕ TZNCPM/4,70%FBMMPDBUF#SFBL ·ͩొ͞Ε͍ͯΔ,70ϓϩύςΟ͕EFBMMPD͞Εͨ͜ͱΛݕ TZNCPM@9$5'BJMVSF)BOEMFS 9$5FTUͰΤϥʔ͕ग़ͨՕॴΛݕ TZNCPM@/4%BUB3FJOJUJBMJ[BUJPO#SFBL ॳظԽࡁΈͷ/4%BUB͕࠶ͼॳظԽ͞Εͨ͜ͱΛݕ
ىಈ͕͍ཧ༝ΛௐΔ
ͭͷεςʔδ 1SFNBJO 1PTUNBJO 6*"QQMJDBUJPO.BJOͷNBJO ͕ݺΕΔલ γεςϜ͕ίϯτϩʔϧ͢Δ 6*"QQMJDBUJPO.BJOͷNBJO ͕ݺΕͨ͋ͱ BQQMJDBUJPOXJMM'JOJTI-BVODIJOH8JUI0QUJPOT ͔Β࠷ॳͷ7JFX$POUSPMMFSͷWJFX8JMM"QQFBS·Ͱ
Ϣʔβʔ͕ૢ࡞ՄೳʹͳΔ·Ͱ
1SFNBJO
%:-%@13*/5@45"5*45*$4
EZMJCMPBEJOH SFCBTFCJOEJOH 0CKDTFUVQ *OJUJBMJ[FS
w %ZOBNJD'SBNFXPSLͷଟ༻Λආ͚Δ "QQMFਪͭ·Ͱ w 0CKFDUJWF$ͷDMBTTͷΛݮΒ͢ w 0CKFDUJWF$ͷTUBUJDJOJUJBMJ[FSΛݮΒ͢ ˠ4XJGUͷTUSVDUΛ͏ w
NTΛඪʹ͢Δ J1IPOFͰϗʔϜ͔ ΒΞϓϦ͕ىಈ͞ΕΔ·Ͱͷ࣌ؒ w ඵΛ͑ΔͱΞϓϦ͕Ωϧ͞ΕΔ ҙ͢Δ͖ϙΠϯτ
%ZOBNJD'SBNFXPSLTͷ݁߹ "GSBNFXPSL #GSBNFXPSL $GSBNFXPSL %GSBNFXPSL &GSBNFXPSL 'GSBNFXPSL (GSBNFXPSL )GSBNFXPSL "#$%&GSBNFXPSL
'()GSBNFXPSL
4UBUJD'SBNFXPSLTͷม "#*4PVSDF4UBCJMJUZ
0CKFDUJWF$ͱͷ ϋΠϒϦουͷ߹
1PTUNBJO
4FDPOE3VO-PPQ .BJO2VFVFͰEJTQBUDIBTZODΛͯ͠Βͤͯྑ ͍ͷɻ͜ΕͰ͖ΔݶΓ࡞ۀྔΛ͑Δɻ ̏ͭͷྨ 'JSTU3VO-PPQ ඞͣ࠷ॳʹ͠ͳ͚Ε͍͚ͳ͍ͷΛઃఆ͢Δɻ Ͱ͖ΔݶΓ࡞ۀྔݮΒ͠ɺશମͷˋҎԼʹ͑Δ *OUIFCBDLHSPVOE ผ5ISFBEͰ#BDLHSPVOE࣮ߦͰ͖ΔͷɻΞφϦςΟ ΫεͷॳظԽͳͲඞਢͰͳ͍ͷɻ
ཁ ඞཁ࠷ݶͷ͜ͱΛʂ
ศརͳ-BVODI"SHVNFOUT /4%PVCMF-PDBMJ[FE4USJOHT:&4 จࣈΛ̎ճ܁Γฦͯ͠ग़ྗ͢Δ DPNBQQMF$PSF%BUB42-%FCVH 42-ग़ྗ /44IPX/PO-PDBMJ[FE4USJOHT:&4 -PDBMJ[BUJPO͠Ε͍ͯΔՕॴΛಛఆ "QQMF-BOHVBHFT FT
ݴޠઃఆͷมߋ
৭ʑݕ౼ͯ͠ Θ͔ͬͨ͜ͱ
ใ͕গͳ͍
None
ྑ͍ใݯษڧձͳͲ ͋Γ·ͨ͠Βڭ͍͑ͯͩ͘͞'
ˌใٻϜ