Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
#softSkills#raspberryPi
😎
Raspberry Pi for Beginners
Description
The course will start with setting up your Raspberry Pi and installing Raspberry Pi OS without an external monitor and keyboard, followed by getting along with the basics of Python3 programming. You will then work with the Raspberry Pi’s GPIO panel, use a PIR sensor to detect movement from your Pi, and discover how to use a Unix terminal and the most useful command-line tools. You will also send an email from your Raspberry Pi, take photos and videos using the Raspberry Pi camera V2, and create a web server on your Raspberry Pi with the Flask framework. Finally, you will build a complete surveillance and alarm project with Raspberry Pi.
Author(s): Edouard Renard
Language: English
Updated: September 2022
Videos Duration: 10h 8m
🔗Link
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----
Пейджер для Telegram без сотовой связи из России! 📡
Инженер создал девайс на Raspberry Pi с mesh-сетями:
Домашний модуль — сервер
Переносной — для чтения каналов
✅ Работает при блокировках
✅ Только текст (без фото/видео пока)
✅ Цена ~3000 рублей (452000сум)
Лучше гаджета для свободы информации не придумаешь! 😎
#TelegramPager#MeshСети#RaspberryPi#Технологии#Россия
Коллеги, друзья и все, кто следит за рождением Адама и Евы! Вчера случилось то, ради чего всё затевалось: я провёл первые полевые испытания зрения Адама в реальном мире, и он в режиме реального времени не просто видел объекты, а описывал их вслух голосом, как настоящий помощник.
Вот как это работает сейчас на железе робота:
1. Глаз: Камера на Raspberry Pi захватывает изображение.
2. Зрение (YOLOv11n, 5 МБ): Сверхлёгкая модель детектирует объекты примерно за 1 сек / кадр.
3. Осмысление (YandexGPT): Получившийся список объектов передается в YandexGPT, который формирует лаконичное и понятное описание сцены.
4. Голос (Yandex SpeechKit): Это описание не печатается в терминале, а сразу синтезируется в чистый, человеческий голос и звучит из динамика робота. 🔊
И это не симуляция — это работающий алгоритм на настоящем железе.
Что это значит на практике? Я говорил Адаму:«Посмотри вокруг», и через мгновение он отвечал голосом: «Я вижу человека в помещении, монитор, ноутбук и телефон на столе». Это был не заранее заготовленный ответ, а результат живого-анализа обстановки перед ним. Он буквально делился своими мыслями о том, что видит.
Почему это прорыв? Потому что мы перешли от сухих технических тестов к реальному взаимодействию. Робот теперь не бездушный детектор объектов, а сущность, которая способна воспринимать мир и коммуницировать на нашем языке — голосом.
Впереди бескрайнее поле для экспериментов с поведением и сценариями использования. Спасибо, что вы с нами на этом пути! Это невероятно вдохновляет.
#робототехника#ии#искуственныйинтеллект#yolo#raspberrypi#компьютерноезрение#адам#ева#YandexGPT#SpeechKit#голосовойИИ
🛰️✈️Импортозамещение на высоте: в России создают аналог Flightradar24
🇷🇺 Новый сервис «Авиарадар» — это отечественный ответ на Flightradar24.
С конца 2023 года система работает в бета-режиме, уже охватывая большую часть европейской части страны.
📆 В ближайшее время планируется полноценный коммерческий запуск.
📡 Основа — сеть приёмников, собирающих ADS-B сигналы с гражданских самолётов и передающих их на сервер.
💻 Приёмники можно собрать даже на Raspberry Pi или Orange Pi, а в будущем планируется установка оборудования на микроспутники для слежения за рейсами над океанами и труднодоступными регионами🌍
👨💻 Проект требует знаний в IT и электронике, а также немалых серверных мощностей.
💼 Основная цель — b2b-сегмент: авиакомпании, логистика, государственные структуры.
👥 Волонтёры, устанавливающие оборудование, получают расширенную аналитику и доступ к онлайн-карте.
💬 Разработчики ищут инвестора для масштабирования. Среди потенциальных партнёров — 2ГИС.
При поддержке «Авиарадар» может стать национальной платформой авианаблюдения, особенно важной в условиях текущей геополитики.
#Авиарадар#Flightradar24#импортозамещение#авиация#технологии#RaspberryPi#логистика#гражданскаяавиация#авиатрекер#ИТ#наблюдение#Россия#инновации#b2b#авиапром#слежение