diff options
author | John Högberg <[email protected]> | 2018-02-19 19:40:10 +0100 |
---|---|---|
committer | John Högberg <[email protected]> | 2018-02-26 08:29:38 +0100 |
commit | 165b8455d4bf2e3797008a9ad8496b203d017474 (patch) | |
tree | 294d12a84496fdba57ac76de4b1ffc8f9a96ff95 | |
parent | a92c200af89b9b1f35db26ae8e13333af5638e15 (diff) | |
download | otp-165b8455d4bf2e3797008a9ad8496b203d017474.tar.gz otp-165b8455d4bf2e3797008a9ad8496b203d017474.tar.bz2 otp-165b8455d4bf2e3797008a9ad8496b203d017474.zip |
Suggest using enif_make_new_binary when possible
While enif_make_binary will create heap-binaries from ErlNifBinaries
when possible now, enif_alloc_binary still allocates a Binary* off-heap
which is avoided entirely with enif_make_new_binary.
-rw-r--r-- | erts/doc/src/erl_nif.xml | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/erts/doc/src/erl_nif.xml b/erts/doc/src/erl_nif.xml index 23f0c66429..9655fcd994 100644 --- a/erts/doc/src/erl_nif.xml +++ b/erts/doc/src/erl_nif.xml @@ -974,6 +974,10 @@ typedef struct { <seealso marker="#enif_make_binary"><c>enif_make_binary</c></seealso>. An allocated (and owned) <c>ErlNifBinary</c> can be kept between NIF calls.</p> + <p>If you do not need to reallocate or keep the data alive across NIF + calls, consider using <seealso marker="#enif_make_new_binary"> + <c>enif_make_new_binary</c></seealso> instead as it will allocate + small binaries on the process heap when possible.</p> <p>Returns <c>true</c> on success, or <c>false</c> if allocation fails.</p> </desc> |