2009-08-21 12 views
0

私はプログラムを速くしようとしているので、プロファイリングしています。現在の主な理由は次のとおりです。プロファイリング時にPythonで「組み込みメソッド解読」とは何を意味しますか?

566 1.780 0.003 1.780 0.003 (built-in method decode) 

これは正確ですか?私は決して私のコード内のどこでも「デコード」と呼んでいません。テキストファイルを読み込みますが、私はそれらがユニコードでエンコードされているとは思いません。

+3

小文字:Unicodeはエンコードではないため、Unicodeでエンコードすることはできません。 UTF-8、ISO-8859-1、およびASCIIはすべてエンコードです。 Unicodeはそうではありません。 –

+0

実行しているPythonのバージョンは?様々な理由から、 –

+0

2.5である。もし私ができるなら更新するだろう – Claudiu

答えて

2

おそらく、これはdecode method of string objectsです。

+0

私はそれが本当のことだと確信している - しかし、なぜそれは非常に多くの時間を取っている/それが呼び出されている?私は明示的にそれを呼び出すことはありません – Claudiu

+1

それはコードなしでは答えることは不可能です。 –

1

おそらくこれはstr.decodeです。あなたのソースから "decode"を探してください。コード内にない場合は、プロファイル結果に表示されるPythonライブラリルーチンを見てください。 cPickleとは何の関係もない可能性は非常に高いです。私たちにあなたの問題のより広い視点を与えるために、いくつかの "理由"、好ましくはコラム見出しを表示するよう気をつけますか?

「cPickleを使用する」と「いくつかのテストケースがより高速に実行される」の間の接続について説明できますか?

「タスクYはリソースYより速く実行されることはありますか? ... 更新あなたはcPickleについて質問していました。 cPickle.dump()および/またはcPickle.dumps()の(オプションの)プロトコル引数には何を使用していますか?

+0

私は「cPickleがやることをするが、速い」ということを意味します。テストケースなどに関するnvm、おそらくそれらは関連していないかもしれません。 – Claudiu

0

私はdecodeがユニコード文字列をASCII文字列に変換しているときはいつでも呼び出されると信じています。私は大量のユニコードデータを持っていると推測しています。私はピクルスの内部構造がどういうものかは分かりませんが、ピクルスでUnicodeデータがasciiに変換されるように聞こえますか?

+2

@Peter Shinnersと2人のupvoters:unicode_obj.encode( 'ascii') - > str_obj * not * * decode * aarrgghh! –

1

(質問に答えるとクラウディウの最新の質問、奇妙なことに...?) - ...酸洗いをすばやく行うには、unladen swallowを試してみてください - 野心的なターゲットの大部分はまだ来ていますが、酸洗いおよび解凍に少なくとも20〜25%のスピードアップを与える。

+0

ああ、私はこれについて以前聞いた。素晴らしい名前も。 (質問について::私は隠していたので、私はpicklingがデコードと関係しないと思ったのですが、多分私は間違っていたでしょうか?) – Claudiu

+0

pickling中にデコードが起こらないでしょうあなたはピックルしていませんか? –

関連する問題