compilation optimization