Хотя я точно не знаю, есть ли какие-либо практические последствия для производительности при использовании -compile(export_all).
, я сомневаюсь, что они достаточно значительны, чтобы о них заботиться.
Однако есть преимущество объявления списка экспорта.в явном виде.Делая это, каждый может выяснить интерфейс модуля, посмотрев на первую страницу файла .erl
.Также, как и во многих других вещах, которые мы склонны записывать, явное объявление интерфейса модуля помогает сохранить его ясность.
С учетом сказанного, когда я начинаю работать над новым модулем Erlang, я всегда набираю -module(...). -compile(export_all).
После того, как интерфейс станет достаточно зрелым, я добавлю явное -export([...])
, сохраняя параметр компиляции export_all
.