Pythonでisinstance(〇〇, ××)とtype(〇〇) is ××はどちらがパフォーマンスが良いのか

今回はPythonでisinstance(〇〇, ××)とtype(〇〇) is ××はどちらがパフォーマンスが良いのかについて調査したのでこちらでご紹介いたします。



Pythonでisinstance(〇〇, ××)とtype(〇〇) is ××はどちらがパフォーマンスが良いのか

Pythonの型で条件分岐を行う際に、isinstance(〇〇, ××)とtype(〇〇) is ××の二つの書き方がありますが、どちらが実行時間が早いのかを調べてきました。

調査するにあたって、次の二つのソースコードを準備しました。
片方のソースはisinstance(〇〇, ××)を10000000回繰り返すのを100回ループさせ実行時間の平均値を出力し、もう片方のソースはtype(〇〇) is ××を10000000回繰り返すのを100回ループさせたソースです。

それぞれ3回実行した結果は次の通りでした。

結論を言うと、Pythonで型を確認するときはtype(id) is intよりもisinstanceを使った方が実行時間が早いです。

終わりに

今回はPythonでisinstance(〇〇, ××)とtype(〇〇) is ××はどちらがパフォーマンスが良いのかの調査結果を書きました。

参考になれば幸いです。

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

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






Python

Posted by ちこ