summaryrefslogtreecommitdiffstats
path: root/third_party/libaddressinput/libaddressinput.gyp
diff options
context:
space:
mode:
authorrouslan@chromium.org <rouslan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-15 00:56:24 +0000
committerrouslan@chromium.org <rouslan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-15 00:56:24 +0000
commit07949ab6ce355f0ce0e1e238326d695272191cdc (patch)
tree85a0b8c223b04be48724b5b6ab3472513b5c3e94 /third_party/libaddressinput/libaddressinput.gyp
parentfbcf7ab20679679f9c4f589a34df250a01f12cdf (diff)
downloadchromium_src-07949ab6ce355f0ce0e1e238326d695272191cdc.zip
chromium_src-07949ab6ce355f0ce0e1e238326d695272191cdc.tar.gz
chromium_src-07949ab6ce355f0ce0e1e238326d695272191cdc.tar.bz2
[rac] Improve libaddressinput suggestion performance with tries.
The patch changes suggestion algorithm from a for loop that compared prefixes to a trie. The performance impact on a debug build: Old (for loop that compared prefixes): - Build rulesets = 200 ms - Each character typed = 500 ms New (trie): - Build rulesets = 200 ms - First character typed = 220 ms (200 ms due to building trie) - Each subsequent character typed = 20 ms The performance for each character improves significantly. Building rulesets and the trie still have room for optimization. BUG=347383 Review URL: https://codereview.chromium.org/183793003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257277 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/libaddressinput/libaddressinput.gyp')
-rw-r--r--third_party/libaddressinput/libaddressinput.gyp7
1 files changed, 6 insertions, 1 deletions
diff --git a/third_party/libaddressinput/libaddressinput.gyp b/third_party/libaddressinput/libaddressinput.gyp
index 04c3f95..b0dfee2 100644
--- a/third_party/libaddressinput/libaddressinput.gyp
+++ b/third_party/libaddressinput/libaddressinput.gyp
@@ -49,12 +49,12 @@
'<(SHARED_INTERMEDIATE_DIR)/libaddressinput/',
],
'sources': [
+ 'chromium/canonicalize_string.cc',
'chromium/chrome_downloader_impl.cc',
'chromium/chrome_downloader_impl.h',
'chromium/chrome_storage_impl.cc',
'chromium/chrome_storage_impl.h',
'chromium/json.cc',
- 'chromium/string_compare.cc',
'<(libaddressinput_dir)/cpp/include/libaddressinput/address_data.h',
'<(libaddressinput_dir)/cpp/include/libaddressinput/address_field.h',
'<(libaddressinput_dir)/cpp/include/libaddressinput/address_problem.h',
@@ -92,9 +92,13 @@
'<(libaddressinput_dir)/cpp/src/util/md5.cc',
'<(libaddressinput_dir)/cpp/src/util/md5.h',
'<(libaddressinput_dir)/cpp/src/util/stl_util.h',
+ '<(libaddressinput_dir)/cpp/src/util/canonicalize_string.h',
+ '<(libaddressinput_dir)/cpp/src/util/string_compare.cc',
'<(libaddressinput_dir)/cpp/src/util/string_compare.h',
'<(libaddressinput_dir)/cpp/src/util/string_split.cc',
'<(libaddressinput_dir)/cpp/src/util/string_split.h',
+ '<(libaddressinput_dir)/cpp/src/util/trie.cc',
+ '<(libaddressinput_dir)/cpp/src/util/trie.h',
],
'defines': [
'VALIDATION_DATA_URL="https://i18napis.appspot.com/ssl-aggregate-address/"',
@@ -152,6 +156,7 @@
'<(libaddressinput_dir)/cpp/test/util/scoped_ptr_unittest.cc',
'<(libaddressinput_dir)/cpp/test/util/stl_util_unittest.cc',
'<(libaddressinput_dir)/cpp/test/util/string_split_unittest.cc',
+ '<(libaddressinput_dir)/cpp/test/util/trie_test.cc',
],
'defines': [
'TEST_DATA_DIR="third_party/libaddressinput/src/testdata"',