Знаете ли вы, что у микропроцессоров существуют памяти, которые могут ответить на вопрос: «А нет ли внутри тебя информации, похожей на вот эту?» То есть они не просто запоминают, что им «скажут», и выдают ранее записанное, но еще и умеют сопоставлять свое содержимое с запросом извне. Как в каждой большой дружеской компании есть товарищ, у которого на любую тему найдется подходящий анекдот или мем. Читать далее
Система на кристалле, она же СнК или system on a chip, – это цифровая микросхема, на которой есть множество компонентов: например, микропроцессор и графический процессор, контроллеры и другие периферийные блоки. СнК есть в наших смартфонах, ПК, планшетах. Но как такую создают? Какие…
Привет, Хабр! Еще в C++23 появились «плоские» ассоциативные контейнеры: std::flat_set, std::flat_map и их многоключевые аналоги. Проще говоря, это полные аналоги обычных std::set и std::map, но реализованные иначе – через упорядоченный последовательный контейнер (по умолчанию std::vector). Зачем вообще понадобились эти штуки? Официальная причина – экономия памяти и выигрыш в производительности при чтении данных. Читать далее
Многие знакомы с алгоритмами дерева отрезков и корневой декомпозиции. Однако, не многие задаются вопросом о том, почему они устроены именно так, как они устроены :), и нельзя ли немного изменив их получить выигрыш во времени работы или затрачиваемой памяти. Одно из таких изменений я бы и хотел рассмотреть в этой статье, ведь я сам только недавно задумался об этом, хотя знаком с этими алгоритмами уже более 4 лет. Математика говорит, что это невозможно, но нам всё равно! Расширять сознание