Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Takeshi Fukasawa
6,482 views
[iOS 8] 測れる!パフォーマンス
Xcode 6 から追加されたパフォーマンス測定の機能を紹介します。
Software
◦
Read more
4
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 23
2
/ 23
3
/ 23
4
/ 23
5
/ 23
6
/ 23
7
/ 23
8
/ 23
9
/ 23
10
/ 23
11
/ 23
12
/ 23
13
/ 23
14
/ 23
15
/ 23
16
/ 23
17
/ 23
18
/ 23
19
/ 23
20
/ 23
21
/ 23
22
/ 23
23
/ 23
More Related Content
PDF
第4回勉強会 単体テストのすすめ
by
hakoika-itwg
PDF
20140918 i os8勉強会_performance
by
Takeshi Fukasawa
PPTX
C++でテスト駆動開発
by
Akineko Shimizu
KEY
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
by
Shuji Watanabe
PDF
新しいTest flightの使い方(20140918)
by
Ichiro Yamamoto
PDF
モックライブラリを使ってきちんとユニットテストする #Objective-C
by
Shoichi Matsuda
PDF
はこだてIKA 第4回勉強会 単体テスト
by
Seiji KOMATSU
PDF
ぼくのかんがえた iOSテスト戦略
by
Naoki Umehara
第4回勉強会 単体テストのすすめ
by
hakoika-itwg
20140918 i os8勉強会_performance
by
Takeshi Fukasawa
C++でテスト駆動開発
by
Akineko Shimizu
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
by
Shuji Watanabe
新しいTest flightの使い方(20140918)
by
Ichiro Yamamoto
モックライブラリを使ってきちんとユニットテストする #Objective-C
by
Shoichi Matsuda
はこだてIKA 第4回勉強会 単体テスト
by
Seiji KOMATSU
ぼくのかんがえた iOSテスト戦略
by
Naoki Umehara
Similar to [iOS 8] 測れる!パフォーマンス
PDF
C# から java へのプログラム移植で体験したtddの効果は?
by
Shinichi Hirauchi
PDF
テストコードの定型化
by
Shinichi Hirauchi
KEY
テストコードのリファクタリング
by
Shuji Watanabe
KEY
Unit testで定時帰宅!
by
Funato Takashi
PPT
ユニットテスト 1日目
by
Yoshiki Shibukawa
PPTX
テストスキルを測ってみよう
by
Akira Ikeda
PDF
Tdd
by
Tsukasa Oishi
PDF
テストファースト、自動テストを導入するという事について(@社内勉強会)
by
kyon mm
PDF
エクストリームエンジニア4
by
T-arts
PDF
iOSアプリケーションの Unit Test
by
Katsumi Kishikawa
PPT
20150703 『断捨離』TDDとは
by
nackypon
C# から java へのプログラム移植で体験したtddの効果は?
by
Shinichi Hirauchi
テストコードの定型化
by
Shinichi Hirauchi
テストコードのリファクタリング
by
Shuji Watanabe
Unit testで定時帰宅!
by
Funato Takashi
ユニットテスト 1日目
by
Yoshiki Shibukawa
テストスキルを測ってみよう
by
Akira Ikeda
Tdd
by
Tsukasa Oishi
テストファースト、自動テストを導入するという事について(@社内勉強会)
by
kyon mm
エクストリームエンジニア4
by
T-arts
iOSアプリケーションの Unit Test
by
Katsumi Kishikawa
20150703 『断捨離』TDDとは
by
nackypon
[iOS 8] 測れる!パフォーマンス
1.
測れる!パフォーマンス Copyright ©
Classmethod, Inc. 〜~ Xcode 6 〜~
2.
• 名前:深澤 豪(ふかさわ
たけし) • 所属:iPhoneアプリサービス事業部 • 星座:やぎ座 AB型 • 役割:プロジェクトマネージャー • ⽬目標:お客様と開発者の間に薄く⼊入って、 お互いが満⾜足できるものを届ける Copyright © Classmethod, Inc. ⾃自⼰己紹介
3.
※ Botsの話しをするつもりでしたが、YosemiteとServer 4.0
は未だリリースされない事に気づいたので、やめました。 Copyright © Classmethod, Inc. ごめんなさい。
4.
重い処理理ってなんじゃろ 例例えば… ・⼤大量量データのソートなどの処理理
・画像などのエンコード/デコード ・暗号化処理理 Copyright © Classmethod, Inc.
5.
⾃自動テストで数値化して 判定できる仕組みができた! Copyright
© Classmethod, Inc. 重い処理理を
6.
Testクラスのself.measureBlock(){} 内が計測の対象になる。 Copyright
© Classmethod, Inc. 何処に書くか func testPerformanceExample() { // This is an example of a performance test case. self.measureBlock() { // Put the code you want to measure the time of here. } }
7.
今回の計測されるFunction class Logger
{ let max = 10000 func writeNSLog(){ for var i = 0; i < max; i++ { NSLog("%d",i) } } func writePrintln(){ for var i = 0; i < max; i++ { println(NSDate.date().description + " " + String(i)) } } NSLogとPrintlnで1万回の書き出しを比較 Copyright © Classmethod, Inc.
8.
今回のテストクラス import XCTest
class BotsTests: XCTestCase { … func testLoggerPrintln() { let logger = Logger() self.measureBlock() { logger.writePrintln() } } func testLoggerNSLog() { let logger = Logger() self.measureBlock() { logger.writeNSLog() } NSLog} とPrintlnで1万回の書き出しを比較 } Copyright © Classmethod, Inc.
9.
テストの実⾏行行⽅方法 ユニットテストと同様にTest Navigatorや⌘Uで
実行可能。 Copyright © Classmethod, Inc.
10.
どう計測しているか • 10回計測する。
• 平均と標準偏差を出す。 Copyright © Classmethod, Inc. 10回計測している
11.
何を計測しているか • 10回計測する。
• 平均と標準偏差を出す。 Copyright © Classmethod, Inc. Result:結果 Average: 処理理時間の平均値 Baseline: 評価の基準となる値 Max STDDEV: 標準偏差の最⼤大値
12.
何を計測しているか • 10回計測する。
• 平均と標準偏差を出す。 Copyright © Classmethod, Inc. 1回⽬目の処理理時間は 3.006秒。 平均値が2.09秒なので 43.48%遅い。
13.
標準偏差って何? どれだけデータがバラけているかの指標。 例例えば”10%”なら、ばらつきの平均は平均値
(Avarage)から⾒見見て10%という意味。 Standard Deviation Copyright © Classmethod, Inc.
14.
Copyright © Classmethod,
Inc. 評価させる⽅方法 “No Baseline” と表⽰示され ているので、”Set Baseline” ボタンを押す と”Baseline”に計測した平 均値が⼊入る。
15.
Copyright © Classmethod,
Inc. 評価させる⽅方法 “No Baseline” と表⽰示され ているので、”Set Baseline” ボタンを押す と”Baseline”に計測した平 均値が⼊入る。
16.
Copyright © Classmethod,
Inc. 評価のされ⽅方 “Baseline”を設定した後に 再度度計測すると”Result”に 値が表⽰示される。 何か評価された!
17.
Result: 20.788% better
(±17%) Baselineよりも 20.788% ⾼高速だった。 また、標準偏差は±17%だった。 Copyright © Classmethod, Inc. 評価のされ⽅方
18.
評価のされ⽅方 テスト成功の条件 •
Max STDDEV(標準偏差の最⼤大値) を超えない = ばらつきの⼤大きいテストは失敗 Copyright © Classmethod, Inc. AND • Baseline(基準値)より早い時間で処理理が終わる = 遅いと失敗
19.
Copyright © Classmethod,
Inc. 注意点 シミュレータ/実機の種類によって結果は異異なるの で、ターゲットとする実機で測定した⽅方が良良い。
20.
NSLogとprintlnでそれぞれ1万回の実行結果を計 測してみました。 println(i)
-> 0.35秒 NSLog(“%d”,i) → 2.3秒 Copyright © Classmethod, Inc. ちなみに println だけなら7倍位はやい。
21.
• パフォーマンスを計測するって楽しい。 •
Botsでも回せます。 • 実機で実⾏行行するように。 Copyright © Classmethod, Inc. まとめ
22.
ご静聴、ありがとうございました。 Copyright ©
Classmethod, Inc.
Download