Greg Hackmann
996cdc4b1a
bionic: reimplement property area as hybrid trie/binary tree
...
See the comments for an explanation of how properties are stored.
The trie structure is designed to scale better than the previous
array-based implementation. Searching an array with n properties
required average O(n) string compares of the entire key; searching the
trie requires average O(log n) string compares of each token (substrings
between '.' characters).
Signed-off-by: Greg Hackmann <ghackmann@google.com>
(cherry picked from commit 6ac8e6a46d71a51bec16938efa89f275fa89cf7d)
Change-Id: Icbe31908572f33b4d9b85d5b62ac837cbd0f85e0
2013-06-24 16:35:32 -07:00
..
2009-03-03 19:28:35 -08:00
2013-03-15 16:12:58 -07:00
2013-05-02 14:31:51 -07:00
2013-05-02 14:31:51 -07:00
2013-05-02 14:31:51 -07:00
2013-03-22 19:12:52 -07:00
2013-04-05 11:24:19 -07:00
2013-05-31 09:07:46 -07:00
2013-05-31 13:37:03 +04:00
2013-05-02 14:31:51 -07:00
2013-05-02 14:31:51 -07:00
2013-05-02 14:31:51 -07:00
2013-05-02 14:31:51 -07:00
2013-05-31 09:07:46 -07:00
2013-05-02 14:31:51 -07:00
2013-05-02 14:31:51 -07:00
2013-05-02 14:31:51 -07:00
2013-03-15 16:12:58 -07:00
2013-06-12 14:14:53 -07:00
2009-03-03 19:28:35 -08:00
2013-04-05 11:24:19 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2013-02-15 12:08:59 -08:00
2013-02-05 16:10:59 -08:00
2010-06-27 20:53:04 -07:00
2011-12-06 08:39:18 -08:00
2012-07-31 16:18:22 +12:00
2012-10-01 17:35:49 -07:00
2013-01-29 09:56:31 -08:00
2013-01-29 09:56:31 -08:00
2013-05-07 16:53:33 -07:00
2013-01-29 09:56:31 -08:00
2013-02-25 13:14:31 -08:00
2013-01-29 16:40:39 -08:00
2013-06-12 14:14:53 -07:00
2012-08-31 11:11:40 -07:00
2013-02-07 12:06:44 -08:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2013-04-03 11:10:37 -07:00
2013-04-03 11:10:37 -07:00
2012-10-01 17:35:49 -07:00
2010-01-15 16:52:35 -08:00
2012-10-01 17:35:49 -07:00
2013-02-15 12:08:59 -08:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2010-06-22 17:51:41 -07:00
2013-02-07 11:44:21 -08:00
2012-10-09 17:17:24 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2009-03-03 19:28:35 -08:00
2009-03-03 19:28:35 -08:00
2009-03-03 19:28:35 -08:00
2012-10-01 17:35:49 -07:00
2009-03-03 19:28:35 -08:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2009-03-03 19:28:35 -08:00
2013-04-05 11:24:19 -07:00
2013-03-15 16:31:09 -07:00
2013-03-15 16:31:09 -07:00
2013-02-08 11:16:13 -08:00
2013-06-21 13:28:42 -07:00
2012-10-29 14:27:10 -07:00
2012-10-01 17:35:49 -07:00
2013-06-07 14:55:32 -07:00
2013-06-07 14:55:32 -07:00
2013-06-07 14:55:32 -07:00
2013-06-07 14:55:32 -07:00
2013-06-07 14:55:32 -07:00
2011-03-14 11:50:56 -07:00
2009-03-03 19:28:35 -08:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-11-19 11:46:33 -08:00
2013-05-02 14:31:51 -07:00
2013-03-15 16:12:58 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2013-02-21 11:22:23 -08:00
2013-02-12 16:36:04 -08:00
2013-06-12 17:30:58 -07:00
2013-03-15 16:12:58 -07:00
2013-06-12 17:30:58 -07:00
2013-02-19 12:21:41 -08:00
2013-02-19 12:21:41 -08:00
2013-02-19 12:21:41 -08:00
2013-06-12 17:30:58 -07:00
2013-02-19 12:21:41 -08:00
2013-06-12 17:30:58 -07:00
2013-06-12 17:30:58 -07:00
2013-02-21 11:22:23 -08:00
2013-02-19 12:21:41 -08:00
2013-03-21 20:02:35 -07:00
2013-02-19 12:21:41 -08:00
2013-02-12 15:27:18 -08:00
2012-03-26 15:38:59 -07:00
2013-02-15 12:08:59 -08:00
2012-06-06 10:32:56 -07:00
2013-06-12 17:30:58 -07:00
2011-07-07 22:46:16 +02:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2010-02-05 16:05:52 -02:00
2012-10-01 17:35:49 -07:00
2012-12-10 11:20:57 -08:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2013-02-05 16:10:59 -08:00
2013-02-25 13:14:31 -08:00
2010-12-06 13:42:54 +01:00
2010-12-06 13:42:54 +01:00
2013-04-10 17:44:29 -07:00
2010-12-06 13:42:54 +01:00
2011-11-16 16:28:10 +01:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-22 17:05:27 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2013-01-10 14:42:14 -08:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2013-01-10 14:42:14 -08:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2013-05-31 13:37:03 +04:00
2013-02-12 15:27:18 -08:00
2012-10-16 17:58:17 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-16 17:58:17 -07:00
2012-10-01 17:35:49 -07:00
2013-03-15 16:12:58 -07:00
2013-05-14 17:20:34 -07:00
2013-06-24 16:35:32 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-23 12:29:53 -07:00
2009-03-03 19:28:35 -08:00
2010-12-06 12:25:52 +01:00
2010-10-15 02:16:16 +08:00
2013-02-12 15:27:18 -08:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2012-10-01 17:35:49 -07:00
2009-03-03 19:28:35 -08:00
2013-03-21 16:14:06 -07:00
2012-10-22 17:05:27 -07:00
2012-10-01 17:35:49 -07:00