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.2k
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
590
花嫁アプリを作った
jp_pancake
1
410
try! ReactorKit
jp_pancake
1
650
QR Code Recognition on iOS 11
jp_pancake
1
1.1k
WWDC Pre Party 2018 at Ebisu
jp_pancake
4
3.1k
try! Swift Tokyo 2018 Report
jp_pancake
1
430
try! Swift Tokyo 2018 Day 1 Opening
jp_pancake
0
810
What is `Swifty`?
jp_pancake
2
1.1k
danger-swift
jp_pancake
2
1.4k
Other Decks in Programming
See All in Programming
Rubyとクリエイティブコーディングの輪の広がり / The Growing Circle of Ruby and Creative Coding
chobishiba
1
270
Perl 5 OOP機構30年史 - Perl 5's OOP Mechanism over the past 30 years
moznion
0
250
Rechartsで楽にゴリゴリにカスタマイズする!
10tera
1
170
Amazon BedrockでサーバレスなAIお料理ボットを作成する!!
tosuri13
0
230
Prolog入門
qnighy
4
1k
unique パッケージから学ぶ interning と weak reference @ Asakusa.go#3
karamaru
2
810
長期運用プロダクトの開発速度を維持し続けるためのリファクタリング実践例
wataruss
8
2.7k
AndroidアプリのUIバリエーションをあの手この手で確認する / Check UI variations of Android apps by various means
tkmnzm
1
170
Modern Angular with the NGRX Signal Store New Rules for Your Architecture @BASTA! 2024 in Mainz
manfredsteyer
PRO
0
140
Developer Joy == Developer Productivity (really!)
hollycummins
1
210
開発を加速する共有Swift Package実践
elmetal
PRO
0
420
状態管理ライブラリZustandの導入から運用まで
k1tikurisu
3
470
Featured
See All Featured
For a Future-Friendly Web
brad_frost
174
9.3k
What's in a price? How to price your products and services
michaelherold
242
11k
Into the Great Unknown - MozCon
thekraken
29
1.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
36
2.1k
Facilitating Awesome Meetings
lara
49
5.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
Building a Scalable Design System with Sketch
lauravandoore
459
32k
How to name files
jennybc
75
98k
Mobile First: as difficult as doing things right
swwweet
221
8.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
322
23k
The Cult of Friendly URLs
andyhume
76
6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
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! !