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
giginet/xcprofiler をいじり倒す
Search
Satoshi Hachiya
January 13, 2017
Programming
2
1.3k
giginet/xcprofiler をいじり倒す
potatotips #36 @ MoneyForward
https://github.com/giginet/xcprofiler
Satoshi Hachiya
January 13, 2017
Tweet
Share
More Decks by Satoshi Hachiya
See All by Satoshi Hachiya
iOS の HTTP キャッシュについて
jp_pancake
3
670
花嫁アプリを作った
jp_pancake
1
500
try! ReactorKit
jp_pancake
1
750
QR Code Recognition on iOS 11
jp_pancake
1
1.3k
WWDC Pre Party 2018 at Ebisu
jp_pancake
4
3.3k
try! Swift Tokyo 2018 Report
jp_pancake
1
490
try! Swift Tokyo 2018 Day 1 Opening
jp_pancake
0
840
What is `Swifty`?
jp_pancake
2
1.4k
danger-swift
jp_pancake
2
1.6k
Other Decks in Programming
See All in Programming
アーキテクチャと考える迷子にならない開発者テスト
irof
8
3k
CSC509 Lecture 13
javiergs
PRO
0
250
Nitro v3
kazupon
2
310
OSS開発者の憂鬱
yusukebe
12
4.2k
What’s Fair is FAIR: A Decentralised Future for WordPress Distribution
rmccue
0
180
しっかり学ぶ java.lang.*
nagise
1
370
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
31
13k
Swift Concurrency 年表クイズ
omochi
3
230
All(?) About Point Sets
hole
0
150
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
600
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
280
Building AI with AI
inesmontani
PRO
0
190
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
The Pragmatic Product Professional
lauravandoore
36
7k
Visualization
eitanlees
150
16k
Mobile First: as difficult as doing things right
swwweet
225
10k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Practical Orchestrator
shlominoach
190
11k
A designer walks into a library…
pauljervisheath
210
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Embracing the Ebb and Flow
colly
88
4.9k
Why Our Code Smells
bkeepers
PRO
340
57k
How GitHub (no longer) Works
holman
315
140k
Transcript
giginet/xcprofiler Λ ͍͡Γ͢ 2017.01.13 potatotips #36 @jpmarha_jp
try! Swift Tokyo 2017 ͷͪ΄Ͳ $50 off discount code Λ͓Βͤ͠·͢
giginet ͞Μ͕࡞ͬͨͷ ʹͳͥʁ
Twitter ʮ͓͒ͬɺ͡Ό͋ԕྀͳ͘ʂʯ
खॱ 1. Xcode Ͱ Other Swift Flags ʹ -Xfrontend -debug-
time-function-bodies Λઃఆ 2. Xcode ͰϏϧυ 3. xcprofiler Λ࣮ߦ
ίϚϯυ $ xcprofiler Usage: xcprofiler [product name or .xcactivitylog file]
[options] --[no-]show-invalids Show invalid location results -o [ORDER] Sort order -l, --limit [LIMIT] Limit for display --threshold [THRESHOLD] Threshold of time to display(ms) -h, --help Show this message
Demo
ϛεͬͨͷͰׂѪ ! +--------------------------------+------+-----------------------------------+----------+ | File | Line | Method name
| Time(ms) | +--------------------------------+------+-----------------------------------+----------+ | Sssssssssssss.swift | 47 | @objc override func viewDidLoad() | 4072.2 | | Rrrrrrrrrrrrrrrrrrrrrrrr.swift | 78 | @objc override func viewDidLoad() | 1064.4 | | Tttttttt.swift | 83 | @objc override func viewDidLoad() | 651.4 | +--------------------------------+------+-----------------------------------+----------+
Έ • DerivedData ͷ .xcactivitylog ϑΝΠϧ • ͨͩͦ͠ͷ··։͍ͯಡΊͳ͍ • ಡΊΔίϚϯυ͕͚͋ͬͨͲΕͨ
• ͪͳΈʹ Ruby
͍͡Γͯ͠ Contribution
--threshold Ճ • શ݅͡Ό͕͔͔࣌ؒΔ • ͋Δ࣌ؒʢmsʣҎ্ͷσʔλ͕΄͍͠ • ίϯτϦϏϡʔτνϟϯεʂ
None
·ͱΊ • Ϗϧυ͕͍ͷΈͳ͞Μ͝ଘ • ܕਪ͕͍ͷάάΕΘ͔Δ • ͜ͷΑ͏ͳπʔϧͰΑΓ໌֬ʹͳΔ • ࣍ͷεςοϓ ->
ͳ͍ͥͷ͔ίϯύΠϥΛݟͯΈΑ͏ʁʁ
Thanks! !