Очень крутая и полезная информация. А главное объяснение максимально понятное и доходчивое!
@resolution07 Жыл бұрын
Интересный момент. Начинал свою карьеру с высокоуровневого языка, поэтому не интересовался такими моментами по оптимизации\работы с памятью. Сейчас, когда начинают назревать задачи где надо встраивать сервисы с высокой производительностью, возникают проблемы) Было бы еще интересно послушать про DTO и репозитории (PHP). Заметил что многие не до недооценивают эти подходы
@ЕгорКузнецов-й5ж11 ай бұрын
Спасибо большое за очень доходчивое объяснение данной особенности языка!
@alexrekunch9589 Жыл бұрын
Классный и интересный материал! Подскажите, где можно почитать про машинное слово и работу процессоров с памятью для более глубокого понимания этого материала?
@nikolaykozlov48889 ай бұрын
Отличное объяснение! Спасибо!
@video_rezka2 ай бұрын
передайте через указатель и будет по 8 байт каждая)
@AudraMcdonald-x9m6 ай бұрын
А как вы думаете, стоит ли вручную упорядочивать поля в структурах для оптимизации? я сам недавно выбирал курсы по IT, рассматривал разные варианты, но Skypro помогли найти первый заказ))
@nda8614 ай бұрын
Ну и кринж
@Prof-Shor7 күн бұрын
Да нахер не надо, с размещением в стеке похуй абсолютно
@HelloWorld-ds5rn8 ай бұрын
Скорее всего, надо располагать по убыванию поля
@bkWorm-gx2pi6 ай бұрын
Почему размер переменной следующой структуры 12b? type A struct { value int32 is1 bool is2 bool is3 bool is4 bool is5 bool }
@YanA-bk1nb5 ай бұрын
У тебя наверно выравнивание 4б а не 8
@alexandertsapkov4914 ай бұрын
выравнивание не зависит только от архитектуры процессора. в go выравнивание для всех типов полей структуры будет работать, как выравнивания для самого большого типа данных в структуре. у вас это int32, его выравнивание 4. и для всех последующих полей оно будет 4. поэтому, сначала int32 - 4 байта, потом 4 bool - 4 байта и еще один bool в 4 байта, получаем 12. если замените int32 на int16, то выравнивание станет 2, тогда int16 - 2 байта, 2 bool - 2 байта, еще 2 bool - 2 байта, и еще один bool - 2 байта, получим 8.