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
560
花嫁アプリを作った
jp_pancake
1
370
try! ReactorKit
jp_pancake
1
600
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
410
try! Swift Tokyo 2018 Day 1 Opening
jp_pancake
0
790
What is `Swifty`?
jp_pancake
2
1.1k
danger-swift
jp_pancake
2
1.4k
Other Decks in Programming
See All in Programming
Java 22 Overview
kishida
1
180
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
360
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
1.2k
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
920
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
240
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
5
910
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
190
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
200
Apache Hive 4 on Treasure Data
ryukobayashi
0
200
Ruby GitHub Packages
bkuhlmann
0
630
Random\Randomizer クラスで日常のあれこれを解決しよう! / Random\Randomizer class solves familiar trouble
cocoeyes02
0
230
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
319
37k
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
Designing for humans not robots
tammielis
248
25k
Done Done
chrislema
178
15k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
40
4.4k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
25
2.3k
Designing for Performance
lara
601
67k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
It's Worth the Effort
3n
180
27k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
Into the Great Unknown - MozCon
thekraken
10
990
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! !