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
91
アムダールの法則
マルチコアの数が増え並列処理が当たり前になっても、それに比例して処理性能を上げるのは難しいことを示したアムダールの法則を、図で簡単に解説します。
まりも
May 16, 2024
Tweet
Share
More Decks by まりも
See All by まりも
メンタルモデルから見るオブジェクト設計
hrmstrsmgs
0
120
技術的負債
hrmstrsmgs
0
150
よい設計のプログラムを作るには
hrmstrsmgs
0
57
歴史から理解するJavaScript
hrmstrsmgs
0
34
論理的な考え方
hrmstrsmgs
0
39
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
23
腕のある技術者はなぜ
hrmstrsmgs
0
56
疑似乱数の生成
hrmstrsmgs
0
25
構造化プログラミング
hrmstrsmgs
0
51
Other Decks in Programming
See All in Programming
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
130
kintone開発を効率化するためにチームで試した施策とその結果を大放出!
oguemon
0
330
⚪⚪の⚪⚪をSwiftUIで再現す る
u503
0
120
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
250
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.2k
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.3k
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
180
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
240
良いコードレビューとは
danimal141
9
7.6k
[JAWS DAYS 2025] 最近の DB の競合解決の仕組みが分かった気になってみた
maroon1st
0
160
推しメソッドsource_locationのしくみを探る - はじめてRubyのコードを読んでみた
nobu09
2
360
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
260
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
A Philosophy of Restraint
colly
203
16k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
Making Projects Easy
brettharned
116
6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Statistics for Hackers
jakevdp
797
220k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
Building Adaptive Systems
keathley
40
2.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Gamification - CAS2011
davidbonilla
80
5.2k
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++でプログラミングの常識がひっくり返った