aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/external.h
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2016-04-09 00:54:40 +0200
committerBjörn-Egil Dahlberg <[email protected]>2016-04-11 13:41:22 +0200
commitc56c6d36c3060e62925f036ad020da1753e48829 (patch)
tree328063629d28cc113d026dbccfa9142be869f1f8 /erts/emulator/beam/external.h
parent9e3d98d67a9fbc62aa54b3035b953eb94486cdf7 (diff)
downloadotp-c56c6d36c3060e62925f036ad020da1753e48829.tar.gz
otp-c56c6d36c3060e62925f036ad020da1753e48829.tar.bz2
otp-c56c6d36c3060e62925f036ad020da1753e48829.zip
erts: Optimize '++' operator
This also optimizes the BIF lists:append/2 Use one pass to check for properness and copying LHS list. If LHS turns out not being a proper list, bail and reset htop. If we run out of heap, allocate a heap-fragment and calculate the remaining length as normal, thus checking for properness, and then continue copying. Measurements shows this being ~50% faster.
Diffstat (limited to 'erts/emulator/beam/external.h')
0 files changed, 0 insertions, 0 deletions