Двенадцать добродетелей рационалиста

Двенадцать Добродетелей Рационалиста

Двенадцать добродетелей рациональности — это набор принципов, которые помогут вам стать более разумным человеком. Эти добродетели помогут вам избегать ошибок в мышлении и принятии решений, а также помогут вам развивать критическое мышление и логику....

сентября 22, 2024 · 9 минут · German Gorelkin
Ментальная модель языка Go

Ментальная модель языка Go

Основная задача Go - мультиплексировать и абстрагировать аппаратные ресурсы, подобно операционной системе. Для этого обычно используются две основные абстракции: Планировщик Goroutine(Goroutine Scheduler) и Сборщик мусора(Garbage Collector)...

сентября 18, 2024 · 5 минут · German Gorelkin
Диспетчеризация интерфейса

Диспетчеризация интерфейса

Рассмотрим вызовы методов интерфейса в C++ (GCC), Java (OpenJDK/HotSpot), C# (CLR), Go и Rust....

сентября 9, 2024 · 13 минут · German Gorelkin
Сравнение производительности с пакетом unique

Сравнение производительности с пакетом unique

Interning - это процесс хранения в памяти только одной копии значения и совместного использования уникальной ссылки на нее вместо аллокации нескольких копий и траты памяти....

сентября 6, 2024 · 2 минуты · German Gorelkin
Динамическая и статическая диспетчеризация

Динамическая и статическая диспетчеризация

В этой статье объясняется разница между динамической диспетчеризацией (поздним связыванием) и статической диспетчеризацией (ранним связыванием). Мы также коснемся различий в языковой поддержке виртуальных и статических методов и того, как можно избежать использования виртуальных методов....

сентября 5, 2024 · 7 минут · German Gorelkin
Глубокое погружение в German Strings

Глубокое погружение в German Strings

Мы хотим углубиться в тонкости реализации German Strings и рассказать о том, почему оптимизации, описанные в нашем предыдущем посте, необходимы для высокопроизводительной обработки строк....

сентября 4, 2024 · 6 минут · German Gorelkin
German Strings

German Strings

Строки концептуально очень просты: По сути, это обычная последовательность символов, верно? Почему же тогда каждый язык программирования имеет свою собственную, немного отличающуюся реализацию строк? Оказывается, строка - это нечто большее, чем «просто последовательность символов»....

сентября 3, 2024 · 8 минут · German Gorelkin
Реализация interning в Go

Реализация interning в Go

В стандартную библиотеку Go 1.23 добавили новых пакет unique. Цель этого пакета - позволить канонизировать сравниваемые(comparable) значения. Другими словами, этот пакет позволяет вам убрать дубли значений так, чтобы они указывали на единственную, каноническую, уникальную копию, при этом эффективно управляя каноническими копиями под капотом. Возможно, вы уже знакомы с этой концепцией, которая называется “interning”....

августа 31, 2024 · 6 минут · German Gorelkin
Mechanical Sympathy: Понимание железа делает вас лучшим разработчиком

Mechanical Sympathy: Понимание железа делает вас лучшим разработчиком

Вам не надо быть инженером, чтобы быть хорошим гонщиком, достаточно просто чувствовать машину...

июня 28, 2024 · 8 минут · German Gorelkin
Игра в Low Latency

Игра в Low Latency

Оптимизация low latency - это многоуровневая игра. Что бы успешно пройти это испытания необходимо уметь бороться с противником на каждом уровне. LEVEL 1 – ИТ-индустрия; LEVEL 2 – The Hardware; LEVEL 3 – The Kernel; LEVEL 4 – The Application....

июня 22, 2024 · 7 минут · German Gorelkin