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

Пребарај: #lamcheukting

当前筛选 #lamcheukting清除筛选
Hong Kong Democracy Movement

@hkdmovement · Post #7918 · 18.12.2024 г., 03:55

在元朗襲擊事件五年後,前立法會議員林卓廷及其他六名被告今日(12日)在區域法院被裁定暴動罪成。法官陳廣池的判決引發爭議,他被指出故意改變事件敘述,將受害者置於不利地位,將他們送入監獄。 林卓廷在事件中履行自己的職責,努力了解警方為何未能及時出現,並未違法。然而,法官的判決卻顯示出其腐敗,似乎受到中國共產黨的影響,從上到下違反法律。 這一判決不僅是對受害者的不公正對待,更是對法治的嚴重挑戰。 #721裁決#林卓廷#暴動罪#不公正#法治危機 After five years since the Yuen Long attack, former Legislative Council member Lam Cheuk-ting and six co-defendants have been found guilty of riot charges today (12th) in the District Court. Judge Chan Kwong-chi's ruling has sparked controversy, with accusations that he deliberately altered the narrative to put the victims behind bars. Lam Cheuk-ting was doing his job by seeking to understand why the police did not respond in a timely manner and acted within the law. However, the judge's decision reveals corruption influenced by the Chinese Communist Party, breaking the law from top to bottom. This ruling not only represents an injustice to the victims but also poses a severe threat to the rule of law. #721Verdict#LamCheukting#Injustice#RuleOfLaw