LoginSignup
1
0

More than 1 year has passed since last update.

list内包表記とmapとgenerator式でmethodを実行した場合の速度測定結果

Last updated at Posted at 2022-04-12

表記を共有します

@kts_h さんにご指摘を頂き、generator式を追記しました
generator式が一番高速である結果となっています
@kts_h さん、ありがとうございました

結論

わずかながらmapの方が速いようです
generator式が1番速い結果となりました(4/13追記)
これぐらいの速度差だと、どちらでも良いかも知れませんが

すみません、回数は-1回してください、range(回数)で測定していました:sweat:

今回測定した処理は下の通りです
make_outputではプロパティの文字列を出力用に編集してreturnするだけのシンプルなものです
変数名やメソッド名は変更しています

なお、皆様の実行する内容や実行回数により、同じ結果になるかは分かりませんので、ご承知おきください

dummy.py
output = "\n".join(map(lambda value_object: value_object.make_output(), value_objects))
output = "\n".join([value_object.make_output() for value_object in value_objects])

測定結果

回数 list内包表記 map generator
10 9.499999999995623e-06 9.042000000000772e-06 7.5419999999992715e-06
20 1.533299999999932e-05 1.5167000000003428e-05 1.3499999999999623e-05
30 2.129099999999967e-05 2.116699999999555e-05 2.012500000000278e-05
40 3.158400000000117e-05 2.7208000000000787e-05 2.5790999999997233e-05
50 3.775000000000306e-05 3.34580000000001e-05 3.16250000000004e-05
100 6.808299999999656e-05 6.445800000000335e-05 6.254100000000623e-05
200 0.00012937500000000102 0.00011662500000000214 0.00011325000000000224
500 0.00034287499999999943 0.0003077920000000012 0.0003053329999999979
1000 0.0006297919999999971 0.000612208000000003 0.0006056670000000042

どなたかのお役に立てると嬉しく思います

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0