teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

密結合を追求したコード事例

2020/05/24 12:43

投稿

think49
think49

スコア18194

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

関数分割

2020/05/24 12:43

投稿

think49
think49

スコア18194

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さんの前提条件(PC、コード)は異なる**為、torimingoさんの環境では結果がひっくり返る可能性があります。
26
+ **torimingoさんと回答者の前提条件は異なる**為、torimingoさんの環境では結果がひっくり返る可能性があります。
15
27
 
16
28
  ### 実測する
17
29