MacBook Pro (16-inch, 2019)
2.4 GHz 8-Core Intel Core i9
32 GB 2667 MHz DDR4
Macintosh HD
Python 3.8.2 (default, Apr 13 2020, 16:24:13)
[Clang 11.0.3 (clang-1103.0.32.29)] on darwin
for文で100,000回文の改行区切りを行う。
評価対象は以下の通り。
- do_nothing: オーバーヘッドの確認のため、ループを回すだけのスクリプト
- compile_alwasy: SentenceTokenizer#tokenize()が呼ばれるたびにコンパイルを行う
- no_compile: コンパイルをせず、raw文字列を渡す
- pre_compile: 事前にコンパイル済みの正規表現オブジェクトを格納しておく
実行コマンド
time python do_nothing.py
time python compile_always.py
time python no_compile.py
time python pre_compile.py
Executed in |
90.23 millis |
fish |
external |
usr time |
45.31 millis |
105.00 micros |
45.20 millis |
sys time |
38.16 millis |
479.00 micros |
37.68 millis |
Executed in |
879.63 millis |
fish |
external |
usr time |
826.11 millis |
115.00 micros |
826.00 millis |
sys time |
41.67 millis |
707.00 micros |
40.97 millis |
Executed in |
743.88 millis |
fish |
external |
usr time |
642.70 millis |
136.00 micros |
642.57 millis |
sys time |
52.06 millis |
550.00 micros |
51.51 millis |
Executed in |
573.41 millis |
fish |
external |
usr time |
525.01 millis |
158.00 micros |
524.85 millis |
sys time |
41.56 millis |
755.00 micros |
40.81 millis |