aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src/kernel.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2015-04-28 08:49:08 +0200
committerBjörn Gustavsson <[email protected]>2015-05-06 10:19:06 +0200
commit7309ff4c3832588cc15565ff264db2a120e6092e (patch)
treef519a02ddab40368972681882c12e272ab05f2aa /lib/kernel/src/kernel.erl
parent8adbf1a5407dbb8b64070bddbea0bb364e759dd0 (diff)
downloadotp-7309ff4c3832588cc15565ff264db2a120e6092e.tar.gz
otp-7309ff4c3832588cc15565ff264db2a120e6092e.tar.bz2
otp-7309ff4c3832588cc15565ff264db2a120e6092e.zip
code: Reduce overhead of native code checking for loaded modules
When the code server has been started, the function load_native_code_for_all_loaded/0 will check whether the .beam files for all loaded modules contain any native code. If there is native code, it will be loaded. If there is no native code, on my computer the check will take about 10 ms. That time can be reduced to about 2 ms if we replace the call to code beam_lib:chunks/2 with a call to prim_file:read_file/1 to read the file and a call to code:get_chunk/2 to check whether the chunk for native code is present. Furthermore, the entire check can be spawned off to a separate process and done in parallel with OTP starting up.
Diffstat (limited to 'lib/kernel/src/kernel.erl')
0 files changed, 0 insertions, 0 deletions