回答編集履歴
2
修正
answer
CHANGED
@@ -22,4 +22,4 @@
|
|
22
22
|
また、並列度というワードを検索してみましょう。実際のコードは複数のgoroutineの関係を完全に無関係に保つのは難しく、どこかしら直列に動く部分が残ります。例えばタスクを分割する処理やログ出力など。
|
23
23
|
並列度100%なら処理を三つのgoroutineに分けると3倍速くなるのですが、実際には並列動作をめざしても直列動作がいくらか含まれることになり並列度が100%にならず三つのgoroutineに処理を分けたら3倍速くなる状況を維持することは実用的なコードであればあるほど難しくなります。
|
24
24
|
|
25
|
-
例えば95%の並列度ならアムダールの法則により仮に無限のgoroutineで並行に動かしても20倍より速くなることはありません。
|
25
|
+
例えば95%の並列度ならアムダールの法則により仮に無限のコアを持つマシンで無限のgoroutineで並行に動かしても20倍より速くなることはありません。
|
1
タイプミス修正
answer
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
1番よくみる使い方はhttpサーバーの実装でクライアントが接続してくる度にgoroutineを起動すると言う使い方ですね。
|
20
20
|
こうすると複数のクライアントの相手を並行して行えるようになります。
|
21
21
|
|
22
|
-
また、並列度というワードを検索してみましょう。実際のコードは複数のgoroutineの関係を完全に無関係に保つのは難しく、どこかしら直列に
|
22
|
+
また、並列度というワードを検索してみましょう。実際のコードは複数のgoroutineの関係を完全に無関係に保つのは難しく、どこかしら直列に動く部分が残ります。例えばタスクを分割する処理やログ出力など。
|
23
23
|
並列度100%なら処理を三つのgoroutineに分けると3倍速くなるのですが、実際には並列動作をめざしても直列動作がいくらか含まれることになり並列度が100%にならず三つのgoroutineに処理を分けたら3倍速くなる状況を維持することは実用的なコードであればあるほど難しくなります。
|
24
24
|
|
25
25
|
例えば95%の並列度ならアムダールの法則により仮に無限のgoroutineで並行に動かしても20倍より速くなることはありません。
|