Вот, заметил что если использовать статическую переменную внутри функции, то компилятор генерирует код вызывающий проверку при каждом прохождении этой строчки. В результате у нас получается выполнение бессмысленных проверок после инициализации.
Теперь внимание вопрос:
Что мешает компилятору генерировать код содержащий jmp в по адресу где
1. инициализируется данная статическая перменная
2. jmp заменяется на nop
3. возвращается на исходную позицию
таким образом, мы получим код, который выполнится ровно один раз, без потребностей в проверках.