From a7c75f956f05be3dec30cde4091865dec79349be Mon Sep 17 00:00:00 2001 From: Harshitha KP Date: Tue, 7 Apr 2020 07:32:04 -0400 Subject: [PATCH] doc: document `buffer.from` returns internal pool buffer Fixes: https://github.com/nodejs/node/issues/22139 Co-authored-by: Mritunjay Goutam PR-URL: https://github.com/nodejs/node/pull/32703 Reviewed-By: Anna Henningsen Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca Reviewed-By: James M Snell --- doc/api/buffer.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/doc/api/buffer.md b/doc/api/buffer.md index 28f306f09ab870..b839f0cebad093 100644 --- a/doc/api/buffer.md +++ b/doc/api/buffer.md @@ -379,9 +379,10 @@ A `TypeError` will be thrown if `size` is not a number. The `Buffer` module pre-allocates an internal `Buffer` instance of size [`Buffer.poolSize`][] that is used as a pool for the fast allocation of new -`Buffer` instances created using [`Buffer.allocUnsafe()`][] and the deprecated -`new Buffer(size)` constructor only when `size` is less than or equal to -`Buffer.poolSize >> 1` (floor of [`Buffer.poolSize`][] divided by two). +`Buffer` instances created using [`Buffer.allocUnsafe()`][], +[`Buffer.from(array)`][], and the deprecated `new Buffer(size)` constructor only +when `size` is less than or equal to `Buffer.poolSize >> 1` (floor of +[`Buffer.poolSize`][] divided by two). Use of this pre-allocated internal memory pool is a key difference between calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`. @@ -571,6 +572,9 @@ const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]); A `TypeError` will be thrown if `array` is not an `Array` or other type appropriate for `Buffer.from()` variants. +`Buffer.from(array)` and [`Buffer.from(string)`][] may also use the internal +`Buffer` pool like [`Buffer.allocUnsafe()`][] does. + ### Class Method: `Buffer.from(arrayBuffer[, byteOffset[, length]])`