コードをプロファイリングすると、
C:\ Python26 \ lib \ encodings \ utf_8.py:15(decode)への何百万もの呼び出しを見つけて驚いた。
デバッグを開始したところ、コードベース全体に多くの小さなバグがあり、通常は文字列をUnicodeと比較したり、stingとunicodeを追加したりしていることがわかりました。Pythonは文字列を丁寧にデコードし、Unicodeで次の操作を実行します。
どのような種類。しかし、高価です!
JoelSpolskyとDiveIntoPythonを読んだことがあるので、Unicodeに堪能です...
私はコードの内部をユニコードのみに保つようにしています。
私の質問-このpythonicナイスガイの動作をオフにできますか?少なくとも、これらすべてのバグを見つけて修正するまで(通常はu'u'を追加して)?
それらのいくつかは見つけるのが非常に難しいです(時々文字列である変数...)。
Python 2.6.5(そして私は3.xに切り替えることができません)。