狠狠撸

狠狠撸Share a Scribd company logo
そのベンチマークソフト
本当に大丈夫ですか?
@deep_tkkn
2016.12.17
合同勉強会 in 大都会岡山 -2016 Winter-
ベンチマークソフト使いますよね?
? 実行時間とかスコアとか出ますよね?
? それ,
2
ベンチマークソフト使いますよね?
? 実行時間とかスコアとか出ますよね?
? それ,
鵜呑みにしてはないですか?
3
ベンチマークソフト使いますよね?
? 実行時間とかスコアとか出ますよね?
? それ,
鵜呑みにしてはないですか?
? ベンチマークソフトが正しいとは限らないんですよ…
という話をします
4
まぁ,ベンチマーク取るわけですよ
5
Sysbench memory test:
メモリアクセス速度を測るベンチマーク
シーケンシャルアクセス
ランダムアクセス
6
____
/ \
/ ─ ─\
/ (●) (●) \
| (__人__) |
/ ∩ノ ? /
( \ / _ノ | |
.\ “ /__| |
\ /___ /
ふむふむ,
ランダムアクセスの
方が速いのか
http://kaomojich.com/aa/yaruo/
7
____
/ \
/ ─ ─\
/ (●) (●) \
| (__人__) |
/ ∩ノ ? /
( \ / _ノ | |
.\ “ /__| |
\ /___ /
ふむふむ,
ランダムアクセスの
方が速いのか
http://kaomojich.com/aa/yaruo/
8
____
/ \
/ ⌒ ⌒ \
/ (●) (●) \
| ?" ?)(__人__)" ) ___________
\ ?` ⌒?:j? ,/ j?~~| | | |
__/ \ |__| | | |
| | / , \n|| | | |
| | / / r. ( こ) | | |
| | | ⌒ ーnnn |\ (?? .|_|___________|
 ̄ \__?("二) ̄ ̄ ̄ ̄ ̄l二二l二二 _|_|__|_
何言ってんだこいつ
ランダムアクセスの方が
速いわけないだろ
http://kaomojich.com/aa/yaruo/
9
____
/ \
/ ─ ─\
/ (●) (●) \
| (__人__) |
/ ∩ノ ? /
( \ / _ノ | |
.\ “ /__| |
\ /___ /
sysbench バグってる?
まさかそんなわけ,ね
http://kaomojich.com/aa/yaruo/
10
https://github.com/akopytov/sysbench/blob/0.5/sysbench/tests/memory/sb_memory.c
11
https://github.com/akopytov/sysbench/blob/0.5/sysbench/tests/memory/sb_memory.c
ここで乱数取って
12
https://github.com/akopytov/sysbench/blob/0.5/sysbench/tests/memory/sb_memory.c
ここで乱数取って
乱数?アドレス変換
13
https://github.com/akopytov/sysbench/blob/0.5/sysbench/tests/memory/sb_memory.c
ここで乱数取って
乱数?アドレス変換
メモリアクセス
14
https://github.com/akopytov/sysbench/blob/0.5/sysbench/tests/memory/sb_memory.c
ここで乱数取って
乱数?アドレス変換
メモリアクセス
ここがループ
バグっとるやん…
? 乱数取得がループの外
? ループの中ではアクセスするアドレス変わらない
? ループの中では同じアドレスばかりアクセス
? シーケンシャルですらない
? そら速いわな…
15
ぎっぱぶ のリポジトリ見る
? 当時の master (v0.5)とは別に,v1.0 ってブランチがある
? そっち見たら直ってる
? なんでv1.0が master じゃないんじゃ!!??!?!
16
聞いてみた
17https://github.com/akopytov/sysbench/issues/67
あ,はい
18
問題はこれだけじゃなくて…
? このベンチマークには,
“memory_block_size”
というアクセスサイズを指定するパラメータがあるが…
19
20https://github.com/akopytov/sysbench/blob/c36861f5ad56b79ba
32056759bc5efb4a47c1296/sysbench/tests/memory/sb_memory.
21
sizeof (int) バイトアクセス
memory_block_size 回ループ
https://github.com/akopytov/sysbench/blob/c36861f5ad56b79ba
32056759bc5efb4a47c1296/sysbench/tests/memory/sb_memory.
22
sizeof (int) バイトアクセス
memory_block_size 回ループ
memory_block_size * sizeof (int) byte アクセス!
…だめじゃん
https://github.com/akopytov/sysbench/blob/c36861f5ad56b79ba
32056759bc5efb4a47c1296/sysbench/tests/memory/sb_memory.
結果どうなるかというと
23
ランダムアクセス: 71.1297s
やっぱりなんか遅いよね…
シーケンシャルアクセス: 2.0295s
直った(プルリク投げた)
24
https://github.com/akopytov/sysbench/commit/401c5a43aa40a0b89689747b278fae2adbc302db
結果は?
25
ランダムアクセス: 71.1297s
修正後ランダムアクセス: 23.9801s
シーケンシャルアクセス: 2.0295s
まぁ,こんなものなのか…?
まとめ
? ベンチマークソフトを過信しない
? ベンチマークソフトの方がおかしいことだってある
? おかしいなって思ったらちゃんと調べよう
? 信じられるのはコードだけ
? 最新版の Sysbench では,話した問題は直っている
? Ubuntu とかのパッケージはもしかしたら古いかも
? sysbench –version で 0.4 とか 0.5 とか出たらアウト
? 自分でビルドしましょう
26
Q & A (おまけ:自己紹介掲載)
? 氏名: 深井 貴明
? 所属: 筑波大学
? Twitter: @deep_tkkn
? BitVisor であれこれしてる人
27

More Related Content

Similar to そのベンチマークソフト 本当に大丈夫ですか? (13)

デブサミ2014【13-贰-3】クラウド时代の环境构筑?デプロイ自动化戦略
デブサミ2014【13-贰-3】クラウド时代の环境构筑?デプロイ自动化戦略デブサミ2014【13-贰-3】クラウド时代の环境构筑?デプロイ自动化戦略
デブサミ2014【13-贰-3】クラウド时代の环境构筑?デプロイ自动化戦略
Developers Summit
?
笔测迟丑辞苍で検索エンジン2
笔测迟丑辞苍で検索エンジン2笔测迟丑辞苍で検索エンジン2
笔测迟丑辞苍で検索エンジン2
Yasukazu Kawasaki
?
ケ?ームの自動テストを 作ってみた
ケ?ームの自動テストを 作ってみたケ?ームの自動テストを 作ってみた
ケ?ームの自動テストを 作ってみた
Yuusuke Takeuchi
?
Application insights で行ってみよう
Application insights で行ってみようApplication insights で行ってみよう
Application insights で行ってみよう
Kazushi Kamegawa
?
「事実にもとづく管理」によるソフトウェア品質の改善 ? ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ? ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ? ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ? ヒンシツ大学 Evening Talk #04
Makoto Nonaka
?
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
Makoto Nonaka
?
厂肠谤耻尘始めました
厂肠谤耻尘始めました厂肠谤耻尘始めました
厂肠谤耻尘始めました
minamo
?
今日から始める机械学习?はてなの事例?
今日から始める机械学习?はてなの事例?今日から始める机械学习?はてなの事例?
今日から始める机械学习?はてなの事例?
syou6162
?
异业种でのテスト自动化の実际
异业种でのテスト自动化の実际异业种でのテスト自动化の実际
异业种でのテスト自动化の実际
Satsuki Urayama
?
【贬辫肠蝉迟耻诲测】みんな、ベンチマークどうやってるの?
【贬辫肠蝉迟耻诲测】みんな、ベンチマークどうやってるの?【贬辫肠蝉迟耻诲测】みんな、ベンチマークどうやってるの?
【贬辫肠蝉迟耻诲测】みんな、ベンチマークどうやってるの?
Seiichiro Ishida
?
GDG2018 vision kit mahjong
GDG2018 vision kit mahjongGDG2018 vision kit mahjong
GDG2018 vision kit mahjong
Rio Kurihara
?
フロリダより爱をこめて
フロリダより爱をこめてフロリダより爱をこめて
フロリダより爱をこめて
Hiroyuki Ito
?
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
ICO
?
デブサミ2014【13-贰-3】クラウド时代の环境构筑?デプロイ自动化戦略
デブサミ2014【13-贰-3】クラウド时代の环境构筑?デプロイ自动化戦略デブサミ2014【13-贰-3】クラウド时代の环境构筑?デプロイ自动化戦略
デブサミ2014【13-贰-3】クラウド时代の环境构筑?デプロイ自动化戦略
Developers Summit
?
笔测迟丑辞苍で検索エンジン2
笔测迟丑辞苍で検索エンジン2笔测迟丑辞苍で検索エンジン2
笔测迟丑辞苍で検索エンジン2
Yasukazu Kawasaki
?
ケ?ームの自動テストを 作ってみた
ケ?ームの自動テストを 作ってみたケ?ームの自動テストを 作ってみた
ケ?ームの自動テストを 作ってみた
Yuusuke Takeuchi
?
Application insights で行ってみよう
Application insights で行ってみようApplication insights で行ってみよう
Application insights で行ってみよう
Kazushi Kamegawa
?
「事実にもとづく管理」によるソフトウェア品質の改善 ? ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ? ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ? ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ? ヒンシツ大学 Evening Talk #04
Makoto Nonaka
?
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
Makoto Nonaka
?
厂肠谤耻尘始めました
厂肠谤耻尘始めました厂肠谤耻尘始めました
厂肠谤耻尘始めました
minamo
?
今日から始める机械学习?はてなの事例?
今日から始める机械学习?はてなの事例?今日から始める机械学习?はてなの事例?
今日から始める机械学习?はてなの事例?
syou6162
?
异业种でのテスト自动化の実际
异业种でのテスト自动化の実际异业种でのテスト自动化の実际
异业种でのテスト自动化の実际
Satsuki Urayama
?
【贬辫肠蝉迟耻诲测】みんな、ベンチマークどうやってるの?
【贬辫肠蝉迟耻诲测】みんな、ベンチマークどうやってるの?【贬辫肠蝉迟耻诲测】みんな、ベンチマークどうやってるの?
【贬辫肠蝉迟耻诲测】みんな、ベンチマークどうやってるの?
Seiichiro Ishida
?
GDG2018 vision kit mahjong
GDG2018 vision kit mahjongGDG2018 vision kit mahjong
GDG2018 vision kit mahjong
Rio Kurihara
?
フロリダより爱をこめて
フロリダより爱をこめてフロリダより爱をこめて
フロリダより爱をこめて
Hiroyuki Ito
?
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
ICO
?

More from Takaaki Fukai (6)

Unsafe Nested Virtualization on Intel CPU
Unsafe Nested Virtualization on Intel CPUUnsafe Nested Virtualization on Intel CPU
Unsafe Nested Virtualization on Intel CPU
Takaaki Fukai
?
EPT と TLB でしくじった話
EPT と TLB でしくじった話EPT と TLB でしくじった話
EPT と TLB でしくじった話
Takaaki Fukai
?
ライブマイグレーション実装で体験したデバッグの解説
ライブマイグレーション実装で体験したデバッグの解説ライブマイグレーション実装で体験したデバッグの解説
ライブマイグレーション実装で体験したデバッグの解説
Takaaki Fukai
?
kvm-clock に時間を尋ねるのは 間違っているだろうか
kvm-clock に時間を尋ねるのは間違っているだろうかkvm-clock に時間を尋ねるのは間違っているだろうか
kvm-clock に時間を尋ねるのは 間違っているだろうか
Takaaki Fukai
?
搁补苍肠丑别谤.颈辞を试してみる
搁补苍肠丑别谤.颈辞を试してみる搁补苍肠丑别谤.颈辞を试してみる
搁补苍肠丑别谤.颈辞を试してみる
Takaaki Fukai
?
僕の考えたさいきょーの痴惭惭开発环境
僕の考えたさいきょーの痴惭惭开発环境僕の考えたさいきょーの痴惭惭开発环境
僕の考えたさいきょーの痴惭惭开発环境
Takaaki Fukai
?
Unsafe Nested Virtualization on Intel CPU
Unsafe Nested Virtualization on Intel CPUUnsafe Nested Virtualization on Intel CPU
Unsafe Nested Virtualization on Intel CPU
Takaaki Fukai
?
EPT と TLB でしくじった話
EPT と TLB でしくじった話EPT と TLB でしくじった話
EPT と TLB でしくじった話
Takaaki Fukai
?
ライブマイグレーション実装で体験したデバッグの解説
ライブマイグレーション実装で体験したデバッグの解説ライブマイグレーション実装で体験したデバッグの解説
ライブマイグレーション実装で体験したデバッグの解説
Takaaki Fukai
?
kvm-clock に時間を尋ねるのは 間違っているだろうか
kvm-clock に時間を尋ねるのは間違っているだろうかkvm-clock に時間を尋ねるのは間違っているだろうか
kvm-clock に時間を尋ねるのは 間違っているだろうか
Takaaki Fukai
?
搁补苍肠丑别谤.颈辞を试してみる
搁补苍肠丑别谤.颈辞を试してみる搁补苍肠丑别谤.颈辞を试してみる
搁补苍肠丑别谤.颈辞を试してみる
Takaaki Fukai
?
僕の考えたさいきょーの痴惭惭开発环境
僕の考えたさいきょーの痴惭惭开発环境僕の考えたさいきょーの痴惭惭开発环境
僕の考えたさいきょーの痴惭惭开発环境
Takaaki Fukai
?

Recently uploaded (8)

滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
Matsushita Laboratory
?
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
kota usuha
?
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ssuserfcafd1
?
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
?
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OSIoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
Tomohiro Saneyoshi
?
Matching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdfMatching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdf
hirokiokuda2
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
?
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
Matsushita Laboratory
?
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
kota usuha
?
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ssuserfcafd1
?
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
?
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OSIoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
Tomohiro Saneyoshi
?
Matching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdfMatching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdf
hirokiokuda2
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
?

そのベンチマークソフト 本当に大丈夫ですか?