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
690
花嫁アプリを作った
jp_pancake
1
530
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
510
try! Swift Tokyo 2018 Day 1 Opening
jp_pancake
0
860
What is `Swifty`?
jp_pancake
2
1.4k
danger-swift
jp_pancake
2
1.6k
Other Decks in Programming
See All in Programming
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
160
The Less-Told Story of Socket Timeouts
coe401_
3
860
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
320
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
1.1k
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
1.4k
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
320
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
24
16k
ハーネスエンジニアリングとは?
kinopeee
13
6.5k
GoogleCloudとterraform完全に理解した
terisuke
1
180
書き換えて学ぶTemporal #fukts
pirosikick
1
310
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
0
100
의존성 주입과 모듈화
fornewid
0
150
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
280
Are puppies a ranking factor?
jonoalderson
1
3.4k
Designing for Performance
lara
611
70k
Crafting Experiences
bethany
1
130
How to train your dragon (web standard)
notwaldorf
97
6.6k
Facilitating Awesome Meetings
lara
57
6.8k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
530
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
240
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
350
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
340
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! !