Use equal_range for factory lookups
This patch uses equal_range instead of linear search to look up a
factory entry by name. This does require a sort, but the expected usage
is that the sort happens once and look ups happen many times.
This improves performance on Chromium's oop deserialization of
flattenables by about 10%
R=reed@chromium.org
Change-Id: I907f457a2ffb7d5b6d8261343099d982260b8415
Reviewed-on: https://skia-review.googlesource.com/96820
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
diff --git a/gn/tests.gni b/gn/tests.gni
index 18defe8..15c7c83 100644
--- a/gn/tests.gni
+++ b/gn/tests.gni
@@ -71,6 +71,7 @@
"$_tests/FitsInTest.cpp",
"$_tests/FlattenableCustomFactory.cpp",
"$_tests/FlattenableFactoryToName.cpp",
+ "$_tests/FlattenableNameToFactory.cpp",
"$_tests/FlattenDrawableTest.cpp",
"$_tests/Float16Test.cpp",
"$_tests/FloatingPointTextureTest.cpp",