回答編集履歴

5

追記

2019/02/24 08:52

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -106,6 +106,34 @@
106
106
 
107
107
 
108
108
 
109
+ 追記
110
+
111
+ ---
112
+
113
+ 私の説明が厳密にはリファレンスに反することに気付きました。
114
+
115
+ > re.compile() に渡されてコンパイルされた最新のパターンと、モジュールレベルのマッチング関数はキャッシュされるので、一度に少しの正規表現しか使わないプログラムは正規表現のコンパイルについて心配する必要はありません。
116
+
117
+
118
+
119
+ 引用元: [Python 標準ライブラリ » re — 正規表現操作](https://docs.python.jp/3/library/re.html#re.compile)
120
+
121
+
122
+
123
+ 実測したコードで用いた一種類の正規表現は、この説明に依るとキャッシュされている筈です。
124
+
125
+
126
+
127
+ ですので、実行時間の差は正規表現のコンパイルそれ自体に依るものでは無く、
128
+
129
+ キャッシュの検索、つまりre.compileの呼び出しが影響しているのだと考えられます。
130
+
131
+
132
+
133
+ 『直前にre.compileを潜らせるメリットは薄い』と言う本筋の主張には変わりないです。
134
+
135
+
136
+
109
137
  コンパイル型言語とインタプリタ型言語
110
138
 
111
139
  ---

4

追記

2019/02/24 08:52

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -110,10 +110,24 @@
110
110
 
111
111
  ---
112
112
 
113
- 特に初心者向けの説明で散見する表現ですが、個人的には**間違った分類方法**だと思います。
113
+ 特に初心者向けの説明で散見する表現ですが、個人的には**適切ではない分類方法**だと思います。
114
114
 
115
115
  > まず、「コンパイラ言語」「スクリプト言語」というのは俗称であって、正式な分類ではありません。確かに、「コンパイル型として実装されることが多い言語」「インタプリタで実装されることが多い言語」というのがありますが、それはあくまで相対的なものでしかありません。
116
116
 
117
117
 
118
118
 
119
119
  [teratail - コンパイル言語とスクリプト言語の違い - maisumakunさんの回答](https://teratail.com/questions/51394#reply-82278)
120
+
121
+
122
+
123
+ > 近年の開発環境などでは、コンパイル(ビルド)して実行、というような手続きを1命令で行えるものも増えている。そして、インタプリタでも実行時コンパイラなどの技術の利用がさかんになってきており、古典的な意味での「コンパイラ」と「インタプリタ」の中間的な性質のツール(プログラム)も増えてきているので、「コンパイラ言語 / インタプリタ言語」という、以前よく行われた対比は、あまり意味を持たない場合も増えてきている。
124
+
125
+
126
+
127
+ [Wikipedia - コンパイラ](https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9)
128
+
129
+
130
+
131
+ コンパイルという言葉の持つ意味が広すぎるので、
132
+
133
+ 単に『前以てちょっと処理してるんだなぁ』くらいの感覚で良いと思います。

3

追記

2019/02/24 07:59

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -112,4 +112,8 @@
112
112
 
113
113
  特に初心者向けの説明で散見する表現ですが、個人的には**間違った分類方法**だと思います。
114
114
 
115
+ > まず、「コンパイラ言語」「スクリプト言語」というのは俗称であって、正式な分類ではありません。確かに、「コンパイル型として実装されることが多い言語」「インタプリタで実装されることが多い言語」というのがありますが、それはあくまで相対的なものでしかありません。
116
+
117
+
118
+
115
- [teratail - コンパイル言語とスクリプト言語の違い](https://teratail.com/questions/51394)
119
+ [teratail - コンパイル言語とスクリプト言語の違い - maisumakunさんの回答](https://teratail.com/questions/51394#reply-82278)

2

追記

2019/02/24 07:54

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -98,7 +98,7 @@
98
98
 
99
99
 
100
100
 
101
- > あらかじめコンパイルしておくことで処理速度が早くなる。だから、別に多く使わないならre.compileを積極的に使う必要はない。
101
+ > 別に多く使わないならre.compileを積極的に使う必要はない。
102
102
 
103
103
 
104
104
 

1

追記

2019/02/24 07:37

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -102,7 +102,7 @@
102
102
 
103
103
 
104
104
 
105
-
105
+ この主張は概ね正しいように思います。
106
106
 
107
107
 
108
108