PythonのListの連結方法で算術演算子やextendを使ったときのパフォーマンス測定

2021年9月11日

今回はPythonのListの連結方法で算術演算子やextendを使ったときのパフォーマンスを測定した結果についてご紹介いたします。



PythonのListの連結方法で算術演算子やextendを使ったときのパフォーマンス測定

PythonのListの連結方法として、メジャーなものに次の三種類があります。

今回は上記3パターンで可読性は考えず、どのコードが一番パフォーマンスが良いのか調べていきます。

用意したコードは次のコードです。(読み飛ばして良いです)

Pattern1~Pattern3までの処理をそれぞれ1万回繰り返して、それを100回ずつループさせます。
つまり各パターンで100万回繰り返してるわけですね。
1万回を100回ずつループさせた平均の処理時間をprintしております。

上記ソースコードを、各パターンごとに実行した結果は次の通りです。

Pattern1のListを普通に足したものが遥かに時間がかかっています。
一方、Pattern2とPattern3はそれほど時間がかからず、実行時間も短いです。

こちらには書きませんがPattern2とPattern3を何度か実行してみましたが、同じような処理時間でした。

結論としては、

のどちらかを使う方が良さそうです。

あとは好みですね。

終わりに

今回はPythonのListの連結方法で算術演算子やextendを使ったときのパフォーマンスを測定した結果についてご紹介いたしました。

PythonやPythonを使ったライブラリやフレームワークのパフォーマンスの調査に興味があり、様々なコーディング方法の違いによる最適化の調査を行っております。
リストにまとめてあるので、よろしければ覗いてみてください。
Pythonとそのライブラリやフレームワークのパフォーマンス調査結果リスト

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

直接契約ができるフリーランスエージェント「エンハンス」を立ち上げました。
詳しくは下記LPをご参照ください。
https://enhance.decryption.co.jp/

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






Python

Posted by ちこ