From b9ad5a706d698de16ddd9b9d5c2a1684ced7bda2 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Fri, 1 Jan 2021 15:43:24 -0800 Subject: [PATCH] Micro-optimization in ReadableNativeMaps Summary: This is just a micro-optimization in ReadableNativeMaps. It wont change much in perf.. changelog: [internal] Reviewed By: JoshuaGross Differential Revision: D25733948 fbshipit-source-id: b01109acdf5b2eb532801469ef5cb845010c6ed0 --- .../src/main/jni/react/jni/ReadableNativeMap.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp b/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp index c1ad15082be..61f686c4404 100644 --- a/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +++ b/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp @@ -64,14 +64,15 @@ local_ref> ReadableNativeMap::importKeys() { return JArrayClass::newArray(0); } auto pairs = map_.items(); - for (auto &pair : pairs) { - keys_.value().push_back(pair.first.asString()); - } - jint size = keys_.value().size(); + jint size = map_.size(); auto jarray = JArrayClass::newArray(size); - for (jint ii = 0; ii < size; ii++) { - (*jarray)[ii] = make_jstring(keys_.value()[ii].getString()); + jint i = 0; + for (auto &pair : pairs) { + auto value = pair.first.asString(); + keys_.value().push_back(value); + (*jarray)[i++] = make_jstring(value); } + return jarray; }