No description
Find a file
Christopher Ferris 60521c7d52 Speed up map creation.
- Rewrite the Maps::Parse to use open, and a buffer on the stack.
- Rewrite the line parser away from sscanf. The current way sscanf
  is used does not catch many malformed lines. In addition, this
  new version improves performance by 50% over sscanf on sailfish.
- Add a lot of unit tests for the parser to make sure there are
  no problems. In addition, add a special line that was not rejected
  with the previous version of the code.
- Add new accessor to get the map at a particular index.
- Add a backtrace benchmark for map creation for both new and old.

This cl results in ~5% speedup and makes the new unwinder map creation
about the same for 64 bit. It's still a bit slower, but not by much.
On 32 bit, we are still about 5% slower than the old creation method,
though.

Bug: 23762183

Test: libunwindstack unit tests pass. Ran the new benchmarks.
Change-Id: Id4431e539f400984e6fad62153fdf4152d518322
2017-08-23 15:43:39 -07:00
adb Fix a potential memory leak 2017-08-15 16:48:24 -07:00
adf libadfhwc: Fix adf_hwc_close 2017-03-02 17:40:16 +00:00
base Merge "Revert "base: work around thread safety analysis bug."" 2017-08-02 23:10:42 +00:00
bootstat bootstat: switch from root.root to system.log 2017-08-09 15:08:21 -07:00
cpio Possible null pointer miss on realloc 2017-03-23 22:41:14 +01:00
debuggerd Merge "Compare new unwinder to old unwinder in debuggerd." 2017-08-12 16:06:48 +00:00
demangle Mark libdemangle as vendor_available 2017-06-14 18:58:22 +09:00
fastboot fastboot: Add --disable-verity and --disable-verification options. 2017-08-07 16:52:55 -04:00
fingerprintd fingerprint: bump hw api version to 2.1 [DO NOT MERGE] 2017-01-27 22:11:15 +00:00
fs_mgr Merge "Allow the use of a custom Android DT directory" 2017-07-29 06:58:07 +00:00
gatekeeperd Stop asking for old versions of C++ in system/core. 2017-08-02 14:06:28 -07:00
healthd healthd: notify listeners using local copy of list, drop lock 2017-06-29 22:25:40 +00:00
include Move android_filesystem_config.h => fs_config.h 2017-08-02 16:31:19 -07:00
init Skip unnecessary sleep during shutdown 2017-08-16 15:41:12 -07:00
libappfuse libappfuse: use an explicit buffer size 2017-08-02 14:11:25 -07:00
libbacktrace Speed up map creation. 2017-08-23 15:43:39 -07:00
libbinderwrapper libbinderwrapper: Android.mk -> Android.bp 2017-04-25 15:55:26 -07:00
libcrypto_utils Rely on the platform -std default. 2016-10-10 14:31:12 -07:00
libcutils Add HSM AID. 2017-08-10 20:25:11 +01:00
libdiskconfig Mark libdiskconfig vendor_available. 2017-05-24 14:21:48 -07:00
libion Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libkeyutils Add libkeyutils. 2017-05-10 10:40:11 -07:00
liblog Merge "Fix clang-tidy performance warnings in system/core." 2017-08-04 21:05:51 +00:00
libmemtrack liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libmemunreachable Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libmetricslogger Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libnativebridge Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libnativeloader Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libnetutils Mark libnetutils vendor_available. 2017-05-24 14:18:35 -07:00
libpackagelistparser Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libpixelflinger Va_end should be used with va_start 2017-03-23 22:41:42 +01:00
libprocessgroup Add memcg related configs to init. 2017-07-18 15:58:40 -07:00
libprocinfo libprocinfo: add support for parsing process state. 2017-06-27 15:06:27 -07:00
libsparse libsparse: Fix odd-sized input files total_blks 2017-04-19 10:32:45 -05:00
libsuspend Mark libsuspend vendor_available. 2017-05-24 14:44:30 -07:00
libsync Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libsystem libutils: export system_headers 2017-04-28 09:42:50 +09:00
libsysutils Remove old LOG_EVENT_* code from libsysutils 2017-07-11 15:14:26 -07:00
libunwindstack Speed up map creation. 2017-08-23 15:43:39 -07:00
libusbhost Convert libusbhost to Android.bp 2017-04-20 08:37:12 -07:00
libutils Merge "Remove TODOs for std::string removal." 2017-08-02 20:35:45 +00:00
libziparchive libziparchive: Use ReadAtOffset exclusively 2017-07-25 18:12:12 +00:00
lmkd lmkd: Android.mk -> Android.bp 2017-04-28 15:20:18 -07:00
logcat Don't try to strip a shell script 2017-08-09 20:20:48 -07:00
logd Decrease size of LogBufferElements to 32 bytes. 2017-08-11 12:48:11 -07:00
logwrapper Merge "logwrapper: add a benchmark for android_fork_execvp_ext" 2017-03-23 11:56:10 +00: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 Include asan options from data partition. 2017-08-09 15:32:23 -07:00
run-as Define range of GIDs for cached app data. 2016-12-13 13:28:08 -07:00
sdcard Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
shell_and_utilities Remove reference to deleted gzip module 2017-07-06 22:33:22 +00:00
toolbox Merge "Add building and installing of grep for vendor." 2017-06-16 23:24:32 +00:00
trusty Merge "Pass in message_version_ received from the secure side." 2017-08-15 23:35:48 +00:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Only allow short functions in class definitions. 2017-03-28 12:31:37 -07:00
.clang-format-4 Only allow short functions in class definitions. 2017-03-28 12:31:37 -07:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp Export android_filesystem_config.h as a filegroup 2017-01-17 18:20:28 -08: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
platform_tools_tool_version.mk Fix warning on the build servers 2017-05-25 12:35:40 -07:00
PREUPLOAD.cfg Add a PREUPLOAD.cfg file to run git-clang-format on every commit 2017-03-08 16:51:26 +08:00