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 слични објави

Пребарај: #knicks

当前筛选 #knicks清除筛选
🏆 Info 288 - DEPORTES

@info288_deportes · Post #35677 · 23.10.2024 г., 07:01

🏀🇺🇸NBA Boston 132-109 Knicks#NBA#Boston#Knicks Una atronadora declaración de campeón abriéndose paso en un verde estimulado por un diluvio de triples para levantar el telón de la temporada NBA 24-25. En la noche en la que el colosal TD Garden vivió la solemne ceremonia de entrega de anillos 16 años después, los Boston Celtics, de todo menos para fiestas, se pusieron serios para atormentar a los reforzados New York Knicks con un 132-109 y el récord histórico de triples en un partido con 29, empatando la marca de los Milwaukee Bucks en 2020. https://www.mundodeportivo.com/baloncesto/nba/20241023/1002338791/celtics-celebran-anillo-paliza-knicks-record-triples.html Lakers 110-103 Minnesota#NBA#Lakers#Minnesota Quedaban cuatro minutos de la primera parte en uno de los grandes santuarios del deporte, el Crypto.com Arena de Los Ángeles -antiguo Staples Center, cuando la historia del deporte profesional dio un volantazo. LeBron James, uno de los mejores jugadores de todos los tiempos y probablemente el único capaz a discutir el trono a Michael Jordan como mito absoluto de la NBA, saltó a la pista con su hijo, Bronny James -LeBron James Jr.-, de 20 años (2004). Los primeros en la historia, pioneros absolutos. https://www.marca.com/baloncesto/nba/2024/10/23/lebron-james-bronny-james-historia-deporte-lakers-ganan.html 🏆@Info288_deportes