No description
Find a file
Mark Salyzyn 700fb87648 liblog: event_tag_map use unordered_map
>3 times faster access for lookup functions.  Code simplification and
C++ coding style conversion.  android_lookupEventTagNum has been
expanded to utilize the Format match, and then drops down to just
Tag match.

Performance testing on Hikey, all services stopped, shell only access,
CPU not locked had good repeatability.

$ adb reboot ; adb wait-for-device ; adb shell su root stop

Before this adjustment using binary search:

$ /data/nativetest64/liblog-benchmarks/liblog-benchmarks BM_lookupEvent*
                          iterations      ns/op
Precharge: start
Precharge: stop 231
BM_lookupEventTag           10000000        153
BM_lookupEventTag_NOT       20000000        139
BM_lookupEventFormat        10000000        153

After this adjustment strictly using std::unordered_map lookup:

$ /data/nativetest64/liblog-benchmarks/liblog-benchmarks BM_lookupEvent*
                          iterations      ns/op
Precharge: start
Precharge: stop 231
BM_lookupEventTag           50000000         56
BM_lookupEventTag_NOT      100000000         21
BM_lookupEventFormat        50000000         56

Test: gTest logd-unit-tests and liblog-unit-tests, liblog-benchmarks.
Bug: 31456426
Change-Id: I1cfc3d641c3ea9ab08d455efe0c844d3a6381440
2016-12-15 22:32:37 +00:00
adb Merge remote-tracking branch 'goog/stage-aosp-master' into HEAD 2016-12-06 15:07:48 -08:00
adf system/core Replace cutils/log.h with android/log.h 2016-09-30 12:47:05 -07:00
base Enable libbase/libutils/libziparchive on host bionic 2016-11-29 13:38:53 -08:00
bootstat bootstat: Fix the boot complete signal for FBE devices. 2016-12-01 14:02:17 -08:00
cpio mkbootfs: Fix the default st_mode for root directory. 2016-10-07 16:14:27 -07:00
debuggerd Merge "debuggerd: Dump list of open files on process crash." 2016-11-30 09:18:57 +00:00
fastboot Switch fastboot/init/libprocessgroup to std::this_thread::sleep_for. 2016-11-14 17:08:47 -08:00
fingerprintd system/core Replace cutils/log.h with android/log.h 2016-09-30 12:47:05 -07:00
fs_mgr fs_mgr: support to reserved some blocks for an ext2/3/4 partition. 2016-11-23 19:35:42 +00:00
gatekeeperd system/core Replace cutils/log.h with android/log.h 2016-09-30 12:47:05 -07:00
healthd Update to new minui text API 2016-11-15 14:25:44 -08:00
include Merge changes from topic 'fsconfig-2' 2016-12-10 00:13:05 +00:00
init init/service.cpp: fix FD leak for services with consoles 2016-12-10 12:20:11 -08:00
libappfuse Remove FuseBridgeLoop class. 2016-11-17 09:49:51 +09:00
libbacktrace libbacktrace_offline: support .ARM.exidx. 2016-12-07 10:25:33 -08:00
libbinderwrapper Move libbinderwrapper's headers into libbinderwrapper. 2016-09-16 09:02:47 -07:00
libcrypto_utils Rely on the platform -std default. 2016-10-10 14:31:12 -07:00
libcutils Merge "Use hasmntopt(3) rather than reinventing the wheel." 2016-11-30 22:49:53 +00:00
libdiskconfig system/core Replace log/log.h with android/log.h 2016-09-30 12:47:05 -07:00
libion ion.c: add O_CLOEXEC to /dev/ion open 2016-11-29 15:20:33 -08:00
liblog liblog: event_tag_map use unordered_map 2016-12-15 22:32:37 +00:00
libmemtrack system/core Replace log/log.h with android/log.h 2016-09-30 12:47:05 -07:00
libmemunreachable Rely on the platform -std default. 2016-10-10 14:31:12 -07:00
libnativebridge Allow different namespace types for different classloaders 2016-11-04 15:21:13 -07:00
libnativeloader Allow different namespace types for different classloaders 2016-11-04 15:21:13 -07:00
libnetutils system/core Replace cutils/log.h with android/log.h 2016-09-30 12:47:05 -07:00
libpackagelistparser system/core Replace cutils/log.h with android/log.h 2016-09-30 12:47:05 -07:00
libpixelflinger system/core: preparation to pull back interfaces from android/log.h 2016-10-20 08:11:39 -07:00
libprocessgroup Switch fastboot/init/libprocessgroup to std::this_thread::sleep_for. 2016-11-14 17:08:47 -08:00
libprocinfo libprocinfo: introduce. 2016-11-14 13:42:18 -08:00
libsparse libsparse: add a function to retrieve the data blocks 2016-11-30 19:16:28 -08:00
libsuspend libsuspend: move to exponential backoff am: fb896944b6 2016-10-12 18:20:51 +00:00
libsync Rely on the platform -std default. 2016-10-10 14:31:12 -07:00
libsysutils Merge "system/core: preparation to pull back interfaces from android/log.h" 2016-10-20 18:03:57 +00:00
libusbhost usb-bulk-transfer: Clarify sign-iy-ness of param 2016-09-21 15:51:35 +00:00
libutils Enable libbase/libutils/libziparchive on host bionic 2016-11-29 13:38:53 -08:00
libziparchive Enable libbase/libutils/libziparchive on host bionic 2016-11-30 06:05:59 +00:00
lmkd system/core: preparation to pull back interfaces from android/log.h 2016-10-20 08:11:39 -07:00
logcat Merge "logcat: Fix --last usage option typo" 2016-11-30 17:01:37 +00:00
logd utils: Add FastStrcmp.h 2016-12-09 12:40:17 -08:00
logwrapper Rely on the platform -std default. 2016-10-10 14:31:12 -07:00
mkbootimg mkbootimg: use int for os_version and os_patch_level 2016-03-29 16:06:37 -07:00
reboot Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
rootdir Merge "change /data/bugreports to /bugreports" 2016-11-23 00:11:13 +00:00
run-as run-as: Use Minijail for privilege dropping. 2016-07-19 11:03:52 -04:00
sdcard Merge "Switch sdcardfs over to bind mounts." 2016-11-30 05:20:40 +00:00
toolbox delete toolbox/r.c 2016-11-29 15:45:11 -08:00
trusty system/core: preparation to pull back interfaces from android/log.h 2016-10-20 08:11:39 -07:00
tzdatacheck Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk init.rc: have hwservicemanager start the HAL class 2016-09-26 00:23:51 -07:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00