TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #32 · 7 фев.

Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять: from timeit import timeit def t1(): # складываем 10 строк через + из переменной t = 'text' for _ in range(1000): s = t + t + t + t + t + t + t + t + t def t2(): # склеиваем список строк через метод join arr = ['text'] * 10 for _ in range(1000): s = ''.join(arr) def t3(): # складываем через + но не из переменной а непосредственно инлайн объекты for _ in range(1000): s = 'text' + 'text' + 'text' + ... # всего 10 раз Теперь каждую строку склейки запустим по 10М раз >>> timeit(t1, number=10000) 0.21951690399964718 >>> timeit(t2, number=10000) 1.4978306379998685 >>> timeit(t3, number=10000) 0.2213820789993406 Хм, а нам говорили что через "+" это плохо и медленно ))) 😁 Тут стоит учитывать, что речь идёт о склейке множества длинных строк. Давайте изменим условия: def t4(): t = 'text'*100 for _ in range(1000): s = t + t + t + t + t + t + t + t + t def t5(): arr = ['text'*100] * 10 for _ in range(1000): s = ''.join(arr) def t6(): for _ in range(1000): s = 'text'*100 + 'text'*100 + ... # всего 10 раз >>> timeit(t4, number=10000) 12.795130728000004 >>> timeit(t5, number=10000) 2.642637542999182 >>> timeit(t6, number=10000) 0.2184546610005782 Вот, уже другой разговор, сразу видна разница, в среднем в 6 раз. Но погодите, почему последний тест t6() по скорости такой же как и t3()? Ведь строки теперь в 100 раз длиннее! Это вопросы оптимизации кода, какие простые изменения ускоряют или замедляют выполнение программы. Мы столкнулись с примером обхода обращения к переменной. Например, именно так работает директива #define в С++, во время компиляции подставляя значение переменной вместо ссылки на неё. В Python это тоже работает, но часто ли вы сможете встретить такой способ работы со строками? К сожалению, способ почти только теоретический. В целом, тесты показали то, что мы хотели. Делаем выводы самостоятельно. Полный листинг 🌍 #tricks

Резултати

Пронајдени 1 слични објави

Пребарај: #seemann

当前筛选 #seemann清除筛选
Gift Auctions 🎁

@giftchangesauctions · Post #451 · 07.12.2025 г., 19:48

🎁UFC Strike auction data, round #94 Min. bid: 347⭐️ Round ends at: Dec 7, 2025, 22:49 GMT+3 Auction started at: Dec 7, 2025, 21:00 GMT+3 Auction ends at: Dec 8, 2025, 01:15 GMT+3 (in 2 hours, 26 minutes and 5 seconds) Gifts per round: 250 (36750 gifts left) Round: #94 / #240 (146 rounds left) Min. amount to be in TOP-250: 3 090⭐️ Number rotation: #23251—#23500 Total bids sum: 824 686⭐️ TOP 15: 1 · #23251 · 11 707⭐️· Марис (ID: 536571378) 2 · #23252 · 11 633⭐️· N3on (ID: 5088621029) 3 · #23253 · 5 250⭐️· #Seemann#RvS#JJ (ID: 1879988464) 4 · #23254 · 5 250⭐️ 5 · #23255 · 5 145⭐️ 6 · #23256 · 5 075⭐️ 7 · #23257 · 4 632⭐️ 8 · #23258 · 4 078⭐️ 9 · #23259 · 4 000⭐️ 10 · #23260 · 4 000⭐️ 11 · #23261 · 4 000⭐️ 12 · #23262 · 3 909⭐️ 13 · #23263 · 3 900⭐️ 14 · #23264 · 3 766⭐️ 15 · #23265 · 3 695⭐️ ... 245 · #23495 · 3 091⭐️ 246 · #23496 · 3 091⭐️ 247 · #23497 · 3 091⭐️ 248 · #23498 · 3 090⭐️ 249 · #23499 · 3 090⭐️ 250 · #23500 · 3 090⭐️ Cool numbers beta: 83 · #23333 · 3 153⭐️(trailing repeated) 194 · #23444 · 3 100⭐️(trailing repeated) 206 · #23456 · 3 100⭐️(sequence) Min. amount to be in TOP-250: 3 090⭐️ 🐈‍⬛@GiftChanges • Portals❤️ • Tonnel🌪