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
1.4k
2
Share
giginet/xcprofiler をいじり倒す
potatotips #36 @ MoneyForward
https://github.com/giginet/xcprofiler
Satoshi Hachiya
January 13, 2017
More Decks by Satoshi Hachiya
See All by Satoshi Hachiya
iOS の HTTP キャッシュについて
jp_pancake
3
700
花嫁アプリを作った
jp_pancake
1
540
try! ReactorKit
jp_pancake
1
780
QR Code Recognition on iOS 11
jp_pancake
1
1.4k
WWDC Pre Party 2018 at Ebisu
jp_pancake
4
3.4k
try! Swift Tokyo 2018 Report
jp_pancake
1
520
try! Swift Tokyo 2018 Day 1 Opening
jp_pancake
0
870
What is `Swifty`?
jp_pancake
2
1.4k
danger-swift
jp_pancake
2
1.6k
Other Decks in Programming
See All in Programming
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.2k
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.1k
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
150
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
250
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.1k
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
340
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.1k
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
400
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
240
分析エージェント精度向上における データアナリストの役割
oura_shoya
0
130
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
200
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
260
Featured
See All Featured
Scaling GitHub
holman
464
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
120
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
270
The Spectacular Lies of Maps
axbom
PRO
1
770
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
130
Exploring anti-patterns in Rails
aemeredith
3
370
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
30 Presentation Tips
portentint
PRO
1
300
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
160
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
920
Designing Powerful Visuals for Engaging Learning
tmiket
1
380
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! !