Здравствуйте, Философ, Вы писали:
Ф>А это точно она там виновата?
Есть такой код:
for (item_key, item_value) in y.Data["Reference"].Data["System catalog views"].Data.items() :
print(item_key)
if len(item_value.Data) > 0 :
for (tables_key, tables_value) in item_value.Data.items() :
cat = item_key
key = tables_key.replace(" (Azure SQL Database)", "").replace(" (T-SQL)", "")
...
Работает минуты. Убираем последнюю строчку — секунды. Исследование проблемы показало, что интернет этим методом тоже очень не доволен.
Ф>Там в питоне вроде не сложно дёрнуть сишную функцию — можно померять, кто время съел. Да и какие-то встроенные средства профайлинга у него вроде есть.
Написать эффективную функцию replace — это дело одного дня. Можно просто тупо содрать удачную реализацию из другой платформы. Как скриптовый язык, питон неизбежно будет использоваться для разбора текстов. Лично для меня это было первой (и пока единственной) попыткой его применения.
Я бы ещё понял, если бы разница была в разы. Но в десятки, СОТНИ раз на простейших вещах!!!