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
App Startup Time: Optimization & Monitoring
Search
d_date
June 18, 2017
Programming
3
3.3k
App Startup Time: Optimization & Monitoring
2017/06/19 potatotips #41
2017/07/15 SWWDC x AKIBA.swift
d_date
June 18, 2017
Tweet
Share
More Decks by d_date
See All by d_date
TCA Practice in 5 min
d_date
2
1.7k
waiwai-swiftpm-part2
d_date
3
560
わいわいSwift PM part 1
d_date
2
440
What's new in Firebase 2021
d_date
2
1.6k
CI/CDをミニマルに構築する
d_date
1
610
Swift Package centered project - Build and Practice
d_date
20
16k
How to write Great Proposal
d_date
4
1.9k
Thinking about Architecture for SwiftUI
d_date
8
2.5k
Integrate your app to modern world in Niigata
d_date
0
710
Other Decks in Programming
See All in Programming
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
130
Raku Raku Notion 20260128
hareyakayuruyaka
0
350
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
210
Package Management Learnings from Homebrew
mikemcquaid
0
230
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
ぼくの開発環境2026
yuzneri
0
240
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
460
Apache Iceberg V3 and migration to V3
tomtanaka
0
170
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
CSC307 Lecture 07
javiergs
PRO
1
560
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
420
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
56
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
52
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
30 Presentation Tips
portentint
PRO
1
220
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
180
Fireside Chat
paigeccino
41
3.8k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
160
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Amusing Abliteration
ianozsvald
0
100
We Have a Design System, Now What?
morganepeng
54
8k
Transcript
App Startup Time: Optimization & Monitoring Daiki Matsudate,@d_date, iOS Freelancer
Developer SWWDC x AKIBA.swift in Sendai
Daiki Matsudate,@d_date • iOS Freelancer • Supporting Realm as News
Translator • Organizer of CLEM • WWDC17 Attendee
SWWDC
WWDC
WWDC17
WWDC17 • Back to San Jose • Over 3,000 attendee
• Over 200 sessions / labs / events
Sessions • Frameworks • Design • Developer Tools • Distribution
• Featured • Graphics and Games • Media • System Frameworks
Developer Tools Localizing Swift Debugging Xcode9 Github Undefined Behavior Playgrounds
Testing LLVM Interface Builder App Startup Time Testability
Developer Tools Localizing Swift Debugging Xcode9 Github Undefined Behavior Playgrounds
Testing LLVM Interface Builder App Startup Time Testability
Recognition • ը૾ͷࢹೝ … 13ms • ϑΥʔΧεઌͷܾఆ…100 - 140ms •
ૢ࡞͕ྲྀΕʹ͍ͬͯΔ…200 - 1000ms • ڵຯͷର͕ଞʹҠΔ… 1000 - 10000ms • ؔ৺͕ࣦΘΕΔ … 10000ms - 2014 MIT Research
Recognition • ը૾ͷࢹೝ … 13ms • ϑΥʔΧεઌͷܾఆ…100 - 140ms •
ૢ࡞͕ྲྀΕʹ͍ͬͯΔ…200 - 1000ms • ڵຯͷର͕ଞʹҠΔ… 1000 - 10000ms • ؔ৺͕ࣦΘΕΔ … 10000ms - 2014 MIT
App Startup Time • Do less! • Embed fewer dylibs
• Declare classes/methods • Use fewer initializers • Use more Swift • No initializers • Swift size improvements
Monitoring • In Development • Use DYLD_PRINT_STATISTICS • Initializer Calls
• After Release • Firebase Performance Monitoring How to
Initializer Calls • Available on iOS 11 and macOS High
Sierra • Provides precise timing for each static initializer • Available through Instruments
Initializer Calls Demo
Firebase
• Google I/O 2017 Ͱൃද • iOS / Android ྆ରԠ
Firebase Performance
• ΞϓϦىಈ࣌ؒ, HTTP/S network requestͳͲΛ ࣗಈͰܭଌ • ΞϓϦͷύϑΥʔϚϯεͷվળՕॴ͕Θ͔Δ • ΞϓϦʹ߹ΘͤͯܭଌΛΧελϚΠζͰ͖Δ
Firebase Performance
Firebase Performance Install pod ‘Firebase/Monitoring’ Podfile
Firebase Performance Demo
Summary • fewer dylibs, classes/methods, initializer • Use more Swift
• App startup time monitoring • Use DYLD_PRINT_STATISTICS • Initializer Calls - Instruments (iOS 11~) • Firebase Performance Monitoring
Resources App Startup Time:Past, Present, and Future WWDC 2017 Optimizing
App Startup Time WWDC 2016 Firebase Performance Monitoring
SWWDC x AKIBA.swift in Sendai