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

Резултати

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

Пребарај: #nem

当前筛选 #nem清除筛选
GitHub Trends

@githubtrending · Post #15003 · 28.07.2025 г., 12:30

#java#nem#nem_blockchain You can quickly build and run a NEM node using the NIS (NEM Infrastructure Server) project, which includes all necessary parts like core, deploy, peer, and nis modules. To build it, you need Java 11 or higher and Apache Maven. After building and testing, configure your node by placing property files in a folder named "staging" and start the node with a Java command allocating at least 6GB RAM. You can also set up a testnet node by creating a specific config file. This setup helps you run and manage a secure NEM blockchain node efficiently, supporting blockchain validation and network participation. Detailed docs and community support are available for help. https://github.com/NemProject/nem

Mirracoin Новости

@MirraChannel · Post #174 · 17.07.2024 г., 12:34

#блокчейн#ProofOfImportance#Blockchain#Crypto#Web3#PoI#база Что такое Proof of Importance (PoI) и как он работает? Интересуетесь криптовалютами и блокчейн-технологиями? Тогда вам 🤨 обязательно нужно узнать о Proof of Importance (PoI) — инновационном механизме консенсуса, который предлагает уникальные преимущества! 🔥Proof of Importance (анг. - доказательство важности) — это алгоритм консенсуса, впервые представленный платформой #NEM (New Economy Movement). Он оценивает "важность" каждого участника сети, чтобы определить, кто будет создавать следующий блок. В отличие от Proof of Work (PoW) и Proof of Stake (PoS), PoI учитывает не только количество монет на счету, но и активность пользователя в сети. ⚙️Особенности PoI: • Активность в сети: PoI поощряет активное участие в транзакциях, а не просто накопление монет. • Доверие и стабильность: Активные пользователи получают больший вес, что стимулирует участие и укрепляет сеть. • Справедливость: PoI снижает вероятность централизации, так как учитывается вклад каждого участника, а не только крупные счета. 📌 Для понимания работы консенсуса приведем простой пример. Представьте, что Алиса и Боб — участники сети. У Алисы на счету 1000 монет, но она не участвует в транзакциях, в то время как у Боба 500 монет, но он активно совершает транзакции. PoI считает Боба более важным 😎, так как он вносит больший вклад в жизнедеятельность сети. Благодаря этому, Боб имеет больше шансов создать новый блок 💡. ❗️Поддержите пост лайками 👍, если узнали что-то новое! @MirraChannel😎