From e136bd86b3bf0a14d3379b389a44547d332b9ca5 Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Fri, 7 Oct 2022 03:54:01 -0700 Subject: perf(napi): optimize primitive napi functions (#16163) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This optimization applies on `napi_get_undefined`, `napi_get_null` & `napi_get_boolean`. ``` # main benchmark time (avg) (min … max) p75 p99 p995 ---------------------------------------------------------- ----------------------------- warmup 482.55 ps/iter (462.5 ps … 15.67 ns) 475 ps 525 ps 829.1 ps napi_get_undefined 25.07 ns/iter (24.03 ns … 36.87 ns) 25.37 ns 27.09 ns 34.85 ns ``` ``` # This patch benchmark time (avg) (min … max) p75 p99 p995 ---------------------------------------------------------- ----------------------------- warmup 484.78 ps/iter (462.5 ps … 14.4 ns) 475 ps 554.1 ps 583.3 ps napi_get_undefined 15.52 ns/iter (15.35 ns … 22.14 ns) 15.41 ns 17.18 ns 20.02 ns ``` --- test_napi/src/lib.rs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'test_napi/src/lib.rs') diff --git a/test_napi/src/lib.rs b/test_napi/src/lib.rs index e058686c5..dd0c7cbed 100644 --- a/test_napi/src/lib.rs +++ b/test_napi/src/lib.rs @@ -10,6 +10,7 @@ pub mod callback; pub mod coerce; pub mod numbers; pub mod object_wrap; +pub mod primitives; pub mod promise; pub mod properties; pub mod strings; @@ -67,6 +68,7 @@ unsafe extern "C" fn napi_register_module_v1( numbers::init(env, exports); typedarray::init(env, exports); array::init(env, exports); + primitives::init(env, exports); properties::init(env, exports); promise::init(env, exports); coerce::init(env, exports); -- cgit v1.2.3