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
アムダールの法則
Search
まりも
May 16, 2024
Programming
0
140
アムダールの法則
マルチコアの数が増え並列処理が当たり前になっても、それに比例して処理性能を上げるのは難しいことを示したアムダールの法則を、図で簡単に解説します。
まりも
May 16, 2024
Tweet
Share
More Decks by まりも
See All by まりも
メンタルモデルから見るオブジェクト設計
hrmstrsmgs
0
190
技術的負債
hrmstrsmgs
0
210
よい設計のプログラムを作るには
hrmstrsmgs
0
73
歴史から理解するJavaScript
hrmstrsmgs
0
56
論理的な考え方
hrmstrsmgs
0
56
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
27
腕のある技術者はなぜ
hrmstrsmgs
0
71
疑似乱数の生成
hrmstrsmgs
0
39
構造化プログラミング
hrmstrsmgs
0
130
Other Decks in Programming
See All in Programming
CSC305 Lecture 05
javiergs
PRO
0
210
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
390
Flutterで分数(Fraction)を表示する方法
koukimiura
0
120
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
610
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
480
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
650
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
24
12k
Model Pollution
hschwentner
1
190
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
160
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
130
CSC305 Lecture 02
javiergs
PRO
1
260
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
8
1.6k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
How GitHub (no longer) Works
holman
315
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Gamification - CAS2011
davidbonilla
81
5.5k
Statistics for Hackers
jakevdp
799
220k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
What's in a price? How to price your products and services
michaelherold
246
12k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Transcript
アムダールの法則
アムダールの法則 1 1 − 𝑃 + 𝑃 𝑆 P:高速化できる割合 S:性能向上率
アムダールの法則 高速化できる割合:25% 性能向上率 :100%
アムダールの法則 高速化できる割合:50% 性能向上率 :100%
アムダールの法則 高速化できる割合:75% 性能向上率 :100%
アムダールの法則 高速化できる割合:75% 性能向上率 :200%
アムダールの法則 高速化できる割合:75% 性能向上率 :300%
アムダールの法則 高速化できる割合:75% 性能向上率 :400%
アムダールの法則 高速化できる割合:75% 性能向上率 :100,000%
アムダールの法則 高速化できる割合:50% 性能向上率 :100,000%
アムダールの法則 高速化できる割合:25% 性能向上率 :100,000%
ではどうするか?
グスタフソンの法則 • グスタフソンの法則(英: Gustafson's law、Gustafson- Barsis' law としても知られる)は、計算機工学におけ る法則で、「十分に大きな規模の問題は、効率的に並 列化して解くことができる」事を示すものである。グスタ
フソンの法則は、並列化によってプログラムが高速化 できる限界を示したアムダールの法則と密接に関係し ている。本法則は、ジョン・グスタフソンによって1988年 に初めて示された。(Wikipedia)
そもそも並列化が難しい スレッドプログラミング 変数を一つ代入するにも原子性に気を付ける 使えるライブラリが限られる スレッドの立てすぎに気を付ける アルゴリズム上の限界には程遠い
「高速化できる割合」はアルゴリズムの問題では なく、可読性の問題 async/await C# Python JavaScript C++ Rx C# Swift
JavaScript アクター Erlang Scala C# STM C++ F# 並列可能コレクション C# C++ 様々な言語機能が開発中
誰にでも並行プログラミングができる • Windows 8のC++でプログラミングの常識がひっくり返った