43625


コメント行は言語問わず実行されず、無視されるだろうと思います。  
しかし、その「無視する」という作業は、やはり無視できないのではないかと考えます。  
そうすると、無視するための時間が必要になるんじゃないかなって考えました。  
微々たる時間であれ、無視するのに時間はかかるのですか？

また、インポートしたモジュールに階層構造がある場合も、参照するのにはモジュールをまたがなくてはいけないのではないかなと思います。

[code]

    import module
    module.class.method()
    
[/code]

この場合、クラスからメソッドを取り出して再定義し、（引数は省略するとして）

[code]

    import module
    module.method()
    
[/code]

の方が速いですか？

計測するにしても、かなり小さな誤差の範囲で判別できないんじゃないかなって思います。どなたかご存知ありませんか？


CC BY-SA 3.0
2018-04-28T01:01:09.963
43624
2018-04-28T12:32:52.917
2018-04-28T03:31:52.407
3060
24284
question
python
ソースコードのコメント行や階層構造は実行速度に影響するんですか？


インタプリタなんで、全て影響すると思います。  
正確なところは、実装を見るしかありませんが、  
コメントも読み捨てるためには、読み込む必要があります。  
メソッドの記述による差もあると考えます。  
ただし、昨今のPCの処理能力を考えると通常の処理では誤差範囲かなってのも正直なところ。  
昔は、if文はパイプラインが乱れるから、遅くなるとか考えましたが、今はそれより、見やすさ(メンテナンス性)が大切かと思うようになっています。(特殊な数値演算は除く)


CC BY-SA 3.0
2018-04-28T01:16:03.750
43625
2018-04-28T01:16:03.750
43624
answer


大規模なプログラムになるとソースコードは大量になるので、コメント行等は実行速度に影響します。ソースコードを読んで解析する時間はばかになりません。

そのため、Pythonの場合は、テキスト形式の`.py`ファイルをコンパイルしてバイトコードにして、`__pycache__`
ディレクトリに`.pyc`というファイルで保存します。その際にコメントは削除されると思われます。

コメントをいくら書いても、最初にコンパイルされる時に僅かに遅くなるだけで、実行速度には全く影響しません。細かなモジュールの書き方もコンパイルの際に違いが吸収されるので気にする必要はありません。

PHPとRubyもインタプリタですが実行前にソースコードをコンパイルします。JavaScriptはブラウザー側で実行しているため事前コンパイルはしませんが、コメント行や空白を削除して圧縮したものを作成します。


CC BY-SA 3.0
2018-04-28T04:31:53.677
43628
2018-04-28T12:32:52.917
2018-04-28T12:32:52.917
15171
15171
43624
answer