Сравнение производительности с пакетом unique
Interning - это процесс хранения в памяти только одной копии значения и совместного использования уникальной ссылки на нее вместо аллокации нескольких копий и траты памяти....
Interning - это процесс хранения в памяти только одной копии значения и совместного использования уникальной ссылки на нее вместо аллокации нескольких копий и траты памяти....
Мы хотим углубиться в тонкости реализации German Strings и рассказать о том, почему оптимизации, описанные в нашем предыдущем посте, необходимы для высокопроизводительной обработки строк....
Строки концептуально очень просты: По сути, это обычная последовательность символов, верно? Почему же тогда каждый язык программирования имеет свою собственную, немного отличающуюся реализацию строк? Оказывается, строка - это нечто большее, чем «просто последовательность символов»....
В стандартную библиотеку Go 1.23 добавили новых пакет unique. Цель этого пакета - позволить канонизировать сравниваемые(comparable) значения. Другими словами, этот пакет позволяет вам убрать дубли значений так, чтобы они указывали на единственную, каноническую, уникальную копию, при этом эффективно управляя каноническими копиями под капотом. Возможно, вы уже знакомы с этой концепцией, которая называется “interning”....
Вам не надо быть инженером, чтобы быть хорошим гонщиком, достаточно просто чувствовать машину...
Оптимизация low latency - это многоуровневая игра. Что бы успешно пройти это испытания необходимо уметь бороться с противником на каждом уровне. LEVEL 1 – ИТ-индустрия; LEVEL 2 – The Hardware; LEVEL 3 – The Kernel; LEVEL 4 – The Application....
Некоторые мифы о производительности систем когда-то были правдой. Другие, кажется, были выдуманы из воздуха. В этой статье описаны 5 таких популярных мифов о производительности, некоторые из которых когда-то были правдой, а некоторые - никогда. Попутно я постараюсь опровергнуть их раз и навсегда. Мы перечислим их в обратном порядке распространенности, основываясь на моем личном опыте....
Разрабатывая программы, мы работаем над абстракцией системы. Оборудование может не знать о ваших функциях, переменных и данных. Оно может видеть только биты и инструкции. И все же, чтобы писать эффективные программы, программист должен знать характеристики базовой системы. К счастью, мы можем использовать и само программное обеспечение, чтобы наблюдать за поведением системы с помощью экспериментов....
В 2004 году отказ от frame pointers был связан с повышением производительности на i386 и конкуренцией с другими компиляторами. Спустя 10 лет frame pointers возвращаются в дистрибутивы Linux....