[LWN.net]Pythonの起動時間は遅い。コア開発者もわかっちゃいる。起動時間は特にコマンドラインプログラムの実行時間に影響する。他のスクリプト言語より遅いので困る。3.7の起動時間は2.7より2倍遅い。基本いろんな標準モジュールを読み込むので遅い。それぞれのメーリングリストで7月半ばから続いている。この議論での焦点はcollections.namedtumple()namedtupleは標準ライブラリのいろんなところで使われている。議論は広範囲に渡っている。namedtupleの使い方については省略。2016年11月にバグが報告されている。namedtuple()はfunctoolsモジュールのimport時間を増加させるというものだ。提示された解決法はこんな感じ。要するにnamedtuple()で作成されたクラス(_CacheInfo)をベタ書きしている。クラスのソースコードは_CacheInfo._sourceから文字列で取得できるので、それをコピペするだけで済む。これでnamedtuple()がクラスを生成する手間賃が省ける寸法だ。namedtupleが生成したものに対する変更・修正がfunctoolsに反映されないことだ。Hettingerはこの変更に現実的な問題があるとは納得していない旨述べている。Coghlanも同意している。efforts.アドホックなやり方で速度を改善するのではなく、正しい構造的を見定めてコードを書くのが望ましいということですな。Clinicというアプローチを試みた。前とだいたい同じ理由でまたクローズされた。Zijlstraがnamedtupleの生成を最適化するパッチを投下。exec()呼びを減らすもの。これは既存の実装とおおむね互換性があったが、_source属性をサポートしていなかった。bugをリオープンにしたい人とクローズにしたい人とで小競り合いがあったらしい。古典的な「バグ戦争」。不平「_source属性を消して欲しくない、それはnamedtupleの本質的な要素だ。Pitrou「調べた限り、_sourceは効果的に利用されていない。classes.(時間切れ。記事はまだ続くが言語デザインに関する人々が思想を語る場になっていくっぽい。上からレスを見てメモしてくだけ。»プロフィールコメントは常に歓迎します。`ssize_t`とは何か2018-04-01【読んだもの】Pythonは逐一解釈されるのか、それともコンパイルされるのか?(答えはどちらも)イエスだ。(6)はてなブログをはじめよう!cofreeさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。