From 77cad6b3b87e5c073040ec71f42683e8da6847a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Wed, 27 Apr 2016 21:54:57 +0200 Subject: Avoid calling absname/1 on an absolute path absname/1 is quite expensive, so we should not call if we already have a normalized absolute path. --- lib/kernel/src/code_server.erl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib/kernel') diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl index 5fd434e323..4579ac57e1 100644 --- a/lib/kernel/src/code_server.erl +++ b/lib/kernel/src/code_server.erl @@ -1160,8 +1160,13 @@ mod_to_bin([Dir|Tail], Mod) -> case erl_prim_loader:get_file(File) of error -> mod_to_bin(Tail, Mod); - {ok,Bin,FName} -> - {Mod,Bin,absname(FName)} + {ok,Bin,_} -> + case filename:pathtype(File) of + absolute -> + {Mod,Bin,File}; + _ -> + {Mod,Bin,absname(File)} + end end; mod_to_bin([], Mod) -> %% At last, try also erl_prim_loader's own method -- cgit v1.2.3