В статье Распознавание циклов в C ++ / Java / Go / Scala (pdf) мы находим следующую цитату в разделе ] Настройки C ++ :
Пилинг структуры. В структуре
UnionFindNode
есть 3 холодных поля:type_
,loop_
иheader_
. Поскольку узлы распределяются в array, это хороший кандидат для оптимизации отслаивания. Три поля можно выделить в отдельный массив. Обратите внимание наheader_
поле также мертво, но его удаление имеет очень низкую производительность влияние. Полеname_
в структуреBasicBlock
также не работает, но он хорошо вписывается в пространство для заполнения, поэтому его не удаляют.
Могут ли некоторые объяснить мне, что такое холодные / мертвые поля и что такое оптимизация отслаивания (я понимаю, что автор там сделал, но каково объяснение it)?