werehuman
19.07.2011 05:39 Psi+
Развенчаем мифы о конкатенации строк: в современном питоне 2.x выражение "abc" + "def" работает быстрее, чем "%s%s" % ("abc", "def") [почти в 10 раз] или "".join(("abc", "def")) [почти в 8 раз]. Но по скорости одинаково с "abc%s" % "def".
Recommended by:
@rapture: я решил учить \
@ulidtko: ПРЫЩЕБЕНЧМАРКИНГ
@Rondo: номер поста — ГОСТ№ *WOK
and @Crazy_Owl
Подозреваю, что раз на раз не приходится. У меня в каком-то случае join работал в 2 раза быстрее, чем все остальные методы. Алсо, да, тестируй на юникоде, все равно работают в основном с ним, а значительную потерю скорости дает именно он.
я бы в любом случае, не заморачивался. лучше писать вполне красиво чем быстро. А в питоне от версии к версии оптимизируют разные моменты, например, сейчас быстро работает 'A'+'B', а в следующей версии будет быстрее работать join
А есть где-то нормальная оценка производительности str.join() ?
> нормальная оценка
str.join() нормально производителен.
хочешь сказать, затрачиваемое им время подчиняется нормальному распределению?
а что, разве это распределение чем-то ненормально?
а я не считал
но скорее всего распределения как такового нет
ты настолько задолбал вбрасывать никчёмные утверждения по теме программирования, что я даже не знаю
ШТО
ладно, я снизойду до объяснения. /3 — это глупый вопрос, как мне кажется. Что я в саркастическом стиле попытался донести в /4. Да, нормальное распределение здесь абсолютно ни при чём >___<
НОРМ!
затроллел
а верехуман — хуй.
раскрою своё мнение по поводу этого итт треда ещё немного.
Вот няша @nya всё правильно сказал. Дрочить на производительность питонокода — это просто моветон. Вам нужна производительность *написания* кода, в большей части юзкейсов сабжеязыка. Лишний СПГС вроде «оценок производительности str.join()» при этом вам только МЕШАЕТ быстро писать код.
В тех же юзкейсах, когда код на питоне нужно одновременно сделать ещё и производительным, есть куча способов решения:
а) профайлинг
б) переписывание «горячего» кода на C (or whatever) через FFI
в) переписывание всего питонокода на тех же плюсах, aka RAD Prototyping.
Ну хоть эти утверждения для тебя не никчёмны, а, @werehuman?
посмотрите какой бугурт
ну нихуя себе! мои-то утверждения «никчёмны», и я их «вбрасываю», по мнению уважаемого @werehuman. И как же я его этим уже заебал, просто настолько, что он даже не знает. Как тут не забугуртить!
Вообще, у меня немного скверное настроение; прошу определённой снисходительности к негативу, исходящему сегодня от меня.
всем пофиг