[erlang-questions] What is the fastest way to check if a function is defined in a module?
Michał Muskała
michal@REDACTED
Tue Mar 6 16:40:42 CET 2018
On 6 Mar 2018, 16:36 +0100, Richard Carlsson <carlsson.richard@REDACTED>, wrote:
>
> is_exported(M, F, A) ->
> case erlang:module_loaded(M) of
> false -> code:ensure_loaded(M);
> true -> ok
> end,
> erlang:function_exported(M, F, A).
>
> (code:ensure_loaded() is slow compared to the fast call to erlang:module_loaded(), even if the module is already in memory).
>
I was recently wondering about this. Is there a reason code:ensure_loaded() does not short circuit using erlang:module_loaded()? It could probably even skip the request to the code server entirely in case the module is already loaded.
Michał.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20180306/ae9f68d7/attachment.htm>
More information about the erlang-questions
mailing list