回答編集履歴
5
追記
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
追記
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
追記
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
追記
test
CHANGED
@@ -98,7 +98,7 @@
|
|
98
98
|
|
99
99
|
|
100
100
|
|
101
|
-
>
|
101
|
+
> 別に多く使わないならre.compileを積極的に使う必要はない。
|
102
102
|
|
103
103
|
|
104
104
|
|
1
追記
test
CHANGED
@@ -102,7 +102,7 @@
|
|
102
102
|
|
103
103
|
|
104
104
|
|
105
|
-
|
105
|
+
この主張は概ね正しいように思います。
|
106
106
|
|
107
107
|
|
108
108
|
|