5
[]がlist()より速いのはなぜですか?
私は最近の処理速度を比較[]し、list()その発見に驚いた[]ランを超える3倍速くよりlist()。私はと同じテストを実行{}し、dict():との結果が実質的に同一であった[]と{}しながら、両方は約0.128sec /万サイクルを取ったlist()し、dict()およそ0.428sec /万サイクルごとをしました。 どうしてこれなの?やる[]と{}(そしておそらく()と''、あまりにも)その明示的に名前のカウンターパートは、(一方で、すぐにいくつかの空の株式リテラルのコピーをバックパスlist()、dict()、tuple()、str())は完全に彼らが実際の要素を持っているかどうか、オブジェクトの作成に取り掛かりますか? 私はこれら2つの方法がどのように違うのか分かりませんが、知りたいです。ドキュメントやSOで答えを見つけることができず、空の角かっこを検索すると、予想よりも問題が多いことがわかりました。 私は呼び出すことで、私のタイミング結果を得たtimeit.timeit("[]")とtimeit.timeit("list()")し、timeit.timeit("{}")かつtimeit.timeit("dict()")それぞれ、リストや辞書を比較するために、。Python 2.7.9を実行しています。 to のパフォーマンスを比較し、同様のリテラル対グローバルのシナリオに触れているように見える「なぜTrueがif 1よりも遅いのですか?」を最近発見しました。おそらくそれも検討する価値があります。if Trueif 1