Soumettre la recherche
Mettre en ligne
[iOS 8] 測れる!パフォーマンス
•
4 j'aime
•
6,470 vues
Takeshi Fukasawa
Suivre
Xcode 6 から追加されたパフォーマンス測定の機能を紹介します。
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 23
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
新しいTest flightの使い方(20140918)
新しいTest flightの使い方(20140918)
Ichiro Yamamoto
20140918 i os8勉強会_performance
20140918 i os8勉強会_performance
Takeshi Fukasawa
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略
Naoki Umehara
モックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-C
Shoichi Matsuda
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
C++でテスト駆動開発
C++でテスト駆動開発
Akineko Shimizu
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
Seiji KOMATSU
Recommandé
新しいTest flightの使い方(20140918)
新しいTest flightの使い方(20140918)
Ichiro Yamamoto
20140918 i os8勉強会_performance
20140918 i os8勉強会_performance
Takeshi Fukasawa
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略
Naoki Umehara
モックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-C
Shoichi Matsuda
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
C++でテスト駆動開発
C++でテスト駆動開発
Akineko Shimizu
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
Seiji KOMATSU
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
Toshiyuki Hirata
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
Tomomi Kajita
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
Koichiro Sumi
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
Toshiyuki Hirata
java-ja TDD 2nd
java-ja TDD 2nd
Takuto Wada
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
陽平 山口
Tdd
Tdd
Tsukasa Oishi
SeasarCon 2009 White TDD
SeasarCon 2009 White TDD
Takuto Wada
CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②
Computational Materials Science Initiative
[db analytics showcase Sapporo 2018] A33 AI社内実装の試み~ソニーNNCを非技術者に使わせてみる~
[db analytics showcase Sapporo 2018] A33 AI社内実装の試み~ソニーNNCを非技術者に使わせてみる~
Insight Technology, Inc.
wankuma #28
wankuma #28
高見 知英
GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
Hiroyuki Tanaka
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
Toshiyuki Hirata
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン
友隆 浅黄
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
Yosuke Mizutani
つぶLT20121215
つぶLT20121215
遼一 杉浦
モデル最適化指標・評価指標の選び方
モデル最適化指標・評価指標の選び方
幹雄 小川
Contenu connexe
Similaire à [iOS 8] 測れる!パフォーマンス
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
Toshiyuki Hirata
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
Tomomi Kajita
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
Koichiro Sumi
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
Toshiyuki Hirata
java-ja TDD 2nd
java-ja TDD 2nd
Takuto Wada
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
陽平 山口
Tdd
Tdd
Tsukasa Oishi
SeasarCon 2009 White TDD
SeasarCon 2009 White TDD
Takuto Wada
CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②
Computational Materials Science Initiative
[db analytics showcase Sapporo 2018] A33 AI社内実装の試み~ソニーNNCを非技術者に使わせてみる~
[db analytics showcase Sapporo 2018] A33 AI社内実装の試み~ソニーNNCを非技術者に使わせてみる~
Insight Technology, Inc.
wankuma #28
wankuma #28
高見 知英
GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
Hiroyuki Tanaka
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
Toshiyuki Hirata
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン
友隆 浅黄
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
Yosuke Mizutani
つぶLT20121215
つぶLT20121215
遼一 杉浦
モデル最適化指標・評価指標の選び方
モデル最適化指標・評価指標の選び方
幹雄 小川
Similaire à [iOS 8] 測れる!パフォーマンス
(20)
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
java-ja TDD 2nd
java-ja TDD 2nd
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
Tdd
Tdd
SeasarCon 2009 White TDD
SeasarCon 2009 White TDD
CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②
[db analytics showcase Sapporo 2018] A33 AI社内実装の試み~ソニーNNCを非技術者に使わせてみる~
[db analytics showcase Sapporo 2018] A33 AI社内実装の試み~ソニーNNCを非技術者に使わせてみる~
wankuma #28
wankuma #28
GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
つぶLT20121215
つぶLT20121215
モデル最適化指標・評価指標の選び方
モデル最適化指標・評価指標の選び方
[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.
Télécharger maintenant