Existing dummy benchmark converted to a single-pass benchmark.
Add support for ">[filename]" interpretation in liblogcat, helpful to
provide more consistent benchmark results when sending output to
/dev/null.
NB: results are not consistent as there is a roundtrip to logd
service, but they are indicative of better performance for
liblogcat.
Benchmark Time CPU Iterations
----------------------------------------------------------------------
BM_logcat_stat_popen_libc 35221677 ns 603314 ns 100
BM_logcat_stat_popen_liblogcat 15871805 ns 579398 ns 1287
BM_logcat_stat_system_libc 39037825 ns 319882 ns 100
BM_logcat_stat_system_liblogcat 9896755 ns 762610 ns 1310
BM_logcat_dump_popen_libc 776206254 ns 131448772 ns 5
BM_logcat_dump_popen_liblogcat 610674905 ns 118709624 ns 6
BM_logcat_dump_system_libc 512191254 ns 388724 ns 10
BM_logcat_dump_system_liblogcat 443897570 ns 377215696 ns 2
Test: logcat-benchmarks --benchmark_filter='BM_logcat_stat*|BM_logcat_dump*'
Bug: 35326290
Change-Id: Ie94900a3070487f45742f6c0789b5b3cf036df34
63 lines
2 KiB
Makefile
63 lines
2 KiB
Makefile
#
|
|
# Copyright (C) 2013-2014 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
|
test_module_prefix := logcat-
|
|
test_tags := tests
|
|
|
|
test_c_flags := \
|
|
-fstack-protector-all \
|
|
-g \
|
|
-Wall -Wextra \
|
|
-Werror \
|
|
-fno-builtin \
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Benchmarks
|
|
# ----------------------------------------------------------------------------
|
|
|
|
benchmark_src_files := \
|
|
logcat_benchmark.cpp \
|
|
exec_benchmark.cpp \
|
|
|
|
# Build benchmarks for the device. Run with:
|
|
# adb shell /data/nativetest/logcat-benchmarks/logcat-benchmarks
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := $(test_module_prefix)benchmarks
|
|
LOCAL_MODULE_TAGS := $(test_tags)
|
|
LOCAL_CFLAGS += $(test_c_flags)
|
|
LOCAL_SRC_FILES := $(benchmark_src_files)
|
|
LOCAL_SHARED_LIBRARIES := libbase liblogcat
|
|
include $(BUILD_NATIVE_BENCHMARK)
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Unit tests.
|
|
# -----------------------------------------------------------------------------
|
|
|
|
test_src_files := \
|
|
logcat_test.cpp \
|
|
liblogcat_test.cpp \
|
|
|
|
# Build tests for the device (with .so). Run with:
|
|
# adb shell /data/nativetest/logcat-unit-tests/logcat-unit-tests
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := $(test_module_prefix)unit-tests
|
|
LOCAL_MODULE_TAGS := $(test_tags)
|
|
LOCAL_CFLAGS += $(test_c_flags)
|
|
LOCAL_SHARED_LIBRARIES := liblog libbase liblogcat
|
|
LOCAL_SRC_FILES := $(test_src_files)
|
|
include $(BUILD_NATIVE_TEST)
|