История изменений
Исправление
Legioner,
(текущая версия)
:
memset. Забить 512 последовательных байтов нулями это очень быстро. Ничего быстрей ты просто не придумаешь. И на O(1) не надо кивать, в данном случае у нас жёстко ограничено число элементов, поэтому смысл O-нотации теряется, есть смысл рассуждать только о реальной производительности.
Чисто теоретически можно ввести ещё впереди маску из одного uint64_t, который будет означать, инициализирован ли соответствующий 8-байтовый кусок. Тогда очистка сведётся к обнулению этой маски, но все остальные операции должны будут проходить через неё. Если прям очистка постоянно производится, в этом есть смысл.
Исправление
Legioner,
:
memset. Забить 512 последовательных байтов нулями это очень быстро. Ничего быстрей ты просто не придумаешь. И на O(1) не надо кивать, в данном случае у нас жёстко ограничено число элементов, поэтому смысл O-нотации теряется, есть смысл рассуждать только о реальной производительности.
Исправление
Legioner,
:
memset. Забить 512 байтов нулями это очень быстро. Ничего быстрей ты просто не придумаешь. И на O(1) не надо кивать, в данном случае у нас жёстко ограничено число элементов, поэтому смысл O-нотации теряется, есть смысл рассуждать только о реальной производительности.
Исправление
Legioner,
:
memcpy. Забить 512 байтов нулями это очень быстро. Ничего быстрей ты просто не придумаешь. И на O(1) не надо кивать, в данном случае у нас жёстко ограничено число элементов, поэтому смысл O-нотации теряется, есть смысл рассуждать только о реальной производительности.
Исправление
Legioner,
:
memcpy. Забить 512 байтов нулями это очень быстро. Ничего быстрей ты просто не придумаешь. И на O(1) не надо кивать, в данном случае у нас жёстко ограничено число элементов, поэтому смысл O-нотации теряется.
Исходная версия
Legioner,
:
memcpy. Забить 512 байтов нулями это очень быстро. Ничего быстрей ты просто не придумаешь.