回答編集履歴
2
密結合を追求したコード事例
answer
CHANGED
@@ -5,9 +5,11 @@
|
|
5
5
|
|
6
6
|
- [密結合 - Google 検索](https://www.google.com/search?q=%E5%AF%86%E7%B5%90%E5%90%88&oq=%E5%AF%86%E7%B5%90%E5%90%88)
|
7
7
|
|
8
|
-
なお、実際の速度差は実行条件に依存する為、一概には回答できません。
|
9
|
-
|
8
|
+
密結合を追求したコード事例として、下記を紹介しておきます。
|
10
9
|
|
10
|
+
- [JavaScript - 配列で特定位置の周囲の値を効率よく調べたい アルゴリズム|teratail](https://teratail.com/questions/92687#reply-144334)
|
11
|
+
- [benchmark - create-square-aa-1.0.1.js - JSFiddle - Code Playground](https://jsfiddle.net/u313fm02/2/)
|
12
|
+
|
11
13
|
### 前提条件
|
12
14
|
|
13
15
|
速度を決定する要素はいくつかあります。
|
1
関数分割
answer
CHANGED
@@ -1,17 +1,29 @@
|
|
1
|
+
### 関数分割
|
2
|
+
|
3
|
+
理論上は、一つの関数を複数の関数に分割すれば、遅くなります。
|
4
|
+
単純な「処理の分割」「処理の結合」では差が出にくいかもしれませんが、関数が少なければ少ないほど、コード最適化で**密結合**となり、パフォーマンス上は優位になります。
|
5
|
+
|
6
|
+
- [密結合 - Google 検索](https://www.google.com/search?q=%E5%AF%86%E7%B5%90%E5%90%88&oq=%E5%AF%86%E7%B5%90%E5%90%88)
|
7
|
+
|
8
|
+
なお、実際の速度差は実行条件に依存する為、一概には回答できません。
|
9
|
+
詳細は後述の通り、ご自身で実験してみるのが確実です。
|
10
|
+
|
1
11
|
### 前提条件
|
2
12
|
|
3
13
|
速度を決定する要素はいくつかあります。
|
4
14
|
|
5
15
|
- 実行するPC
|
16
|
+
- JavaScriptを実行するアプリケーション(Webブラウザ)
|
6
17
|
- 実行するコード
|
7
18
|
|
8
19
|
現存の回答では「体感できないレベルの差」とあり、その考えは理解できるものですが、それも
|
9
20
|
|
10
21
|
- 回答者が今までに実行したPC
|
22
|
+
- 回答者が今までに実行したWebブラウザ
|
11
23
|
- 回答者が今までに実行したコード
|
12
24
|
|
13
|
-
という
|
25
|
+
という「回答者の前提条件」があります。
|
14
|
-
**torimingoさんの前提条件
|
26
|
+
**torimingoさんと回答者の前提条件は異なる**為、torimingoさんの環境では結果がひっくり返る可能性があります。
|
15
27
|
|
16
28
|
### 実測する
|
17
29
|
|