Что означает “встроенный метод decode” в Python при профилировании?

StackOverflow https://stackoverflow.com/questions/1310201

Вопрос

Я пытаюсь сделать свою программу быстрее, поэтому я ее профилирую.Прямо сейчас главной причиной является:

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

Что же это такое на самом деле?Я никогда не вызываю "декодировать" нигде в своем коде.Он считывает текстовые файлы, но я не верю, что они закодированы в юникоде.

Это было полезно?

Решение

Другие советы

(Отвечая на последний вопрос @Claudiu, странным образом спрятанный в комментарии...?!-)...Чтобы действительно ускорить маринование, попробуйте порожняя ласточка - большинство его амбициозных целей еще впереди, но он уже ДЕЙСТВИТЕЛЬНО дает по крайней мере 20-25% ускорения маринования и рассола.

Предположительно, это str.decode ...найдите в своем источнике "расшифровать".Если этого нет в вашем коде, посмотрите на процедуры библиотеки Python, которые отображаются в результатах профиля.Маловероятно, что это как-то связано с cPickle.Не могли бы вы показать нам еще несколько "причин", желательно с заголовками столбцов, чтобы дать нам более широкое представление о вашей проблеме?

Можете ли вы объяснить связь между "использованием cPickle" и "некоторые тестовые примеры будут выполняться быстрее"?

Вы исключили X и Y из "Есть ли что-нибудь, что выполнит задачу X быстрее, чем ресурс Y?" ... Обновить итак, вы спрашивали о cPickle.Что вы используете для (необязательного) аргумента протокола cPickle.dump() и / или cPickle.dumps() ?

Я считаю decode вызывается каждый раз, когда вы конвертируете строки Unicode в строки ascii.Я предполагаю, что у вас большой объем данных в Юникоде.Я не уверен, как работают внутренности маринада, но похоже, что данные Unicode преобразуются в ascii при мариновании?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top