>> Tecnologia Eletrônica >  >> Óptica >> Lunetas de Observação

Procedimentos Near vs. Far em Go

Distinção de Chamada em Nível de Pacote em Go

Em Go, uma chamada de função é classificada em tempo de compilação:

  • Near (intra-pacote): Chamador e chamado residem no mesmo pacote. Chamada direta, overhead mínimo.
  • Far (inter-pacote): Chamador e chamado estão em pacotes diferentes. Chamada passa por stub que gerencia a fronteira do pacote.

Por Que Importa

A distinção só afeta mecânica de defer durante panic/recover ou limpeza de recursos. Função far deferida armazena ponteiro de stub; near armazena ponteiro direto. Chamadas inter-pacote são ligeiramente mais caras, então agrupar funções relacionadas em um pacote pode otimizar hot paths.