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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
まりも
May 16, 2024
Programming
0
180
アムダールの法則
マルチコアの数が増え並列処理が当たり前になっても、それに比例して処理性能を上げるのは難しいことを示したアムダールの法則を、図で簡単に解説します。
まりも
May 16, 2024
Tweet
Share
More Decks by まりも
See All by まりも
メンタルモデルから見るオブジェクト設計
hrmstrsmgs
0
240
技術的負債
hrmstrsmgs
0
270
よい設計のプログラムを作るには
hrmstrsmgs
0
86
歴史から理解するJavaScript
hrmstrsmgs
0
74
論理的な考え方
hrmstrsmgs
0
70
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
46
腕のある技術者はなぜ
hrmstrsmgs
0
93
疑似乱数の生成
hrmstrsmgs
0
47
構造化プログラミング
hrmstrsmgs
0
160
Other Decks in Programming
See All in Programming
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.5k
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
200
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
110
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
100
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
220
ロボットのための工場に灯りは要らない
watany
10
2.4k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
530
文字コードの話
qnighy
44
17k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
480
Codex の「自走力」を高める
yorifuji
0
1.1k
Ruby and LLM Ecosystem 2nd
koic
1
420
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
0
260
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
440
Building the Perfect Custom Keyboard
takai
2
710
Google's AI Overviews - The New Search
badams
0
930
Code Reviewing Like a Champion
maltzj
528
40k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
280
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
200
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Git: the NoSQL Database
bkeepers
PRO
432
66k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
74
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++でプログラミングの常識がひっくり返った