Adam Lesinski c8f71aa67e Add ResTable_sparseTypeEntry support
Benchmarks on bullhead-userdebug show that there is a negligent
performance impact when using sparse entries on a 30% loaded
sparse type of 1000 resources.

Benchmark                                             Time           CPU Iterations
-----------------------------------------------------------------------------------
BM_SparseEntryGetResourceSparseLarge                255 ns        254 ns    2751408
BM_SparseEntryGetResourceNotSparseLarge             254 ns        254 ns    2756534

Bug: 27381711
Test: make libandroidfw_tests aapt2_tests
Change-Id: I051ea22f2f6b2bc3696e446adc9e2a34be18009f
2017-02-15 12:40:02 -08:00

127 lines
3.3 KiB
Makefile

#
# Copyright (C) 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.
#
# ==========================================================
# Setup some common variables for the different build
# targets here.
# ==========================================================
LOCAL_PATH:= $(call my-dir)
testFiles := \
ApkAssets_test.cpp \
AppAsLib_test.cpp \
Asset_test.cpp \
AssetManager2_test.cpp \
AttributeFinder_test.cpp \
AttributeResolution_test.cpp \
ByteBucketArray_test.cpp \
Config_test.cpp \
ConfigLocale_test.cpp \
Idmap_test.cpp \
LoadedArsc_test.cpp \
ResourceUtils_test.cpp \
ResTable_test.cpp \
Split_test.cpp \
StringPiece_test.cpp \
TestHelpers.cpp \
TestMain.cpp \
Theme_test.cpp \
TypeWrappers_test.cpp \
ZipUtils_test.cpp
benchmarkFiles := \
AssetManager2_bench.cpp \
BenchMain.cpp \
BenchmarkHelpers.cpp \
SparseEntry_bench.cpp \
TestHelpers.cpp \
Theme_bench.cpp
androidfw_test_cflags := \
-Wall \
-Werror \
-Wunused \
-Wunreachable-code \
-Wno-missing-field-initializers
# gtest is broken.
androidfw_test_cflags += -Wno-unnamed-type-template-args
# ==========================================================
# Build the host tests: libandroidfw_tests
# ==========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libandroidfw_tests
LOCAL_CFLAGS := $(androidfw_test_cflags)
LOCAL_SRC_FILES := $(testFiles)
LOCAL_STATIC_LIBRARIES := \
libandroidfw \
libbase \
libutils \
libcutils \
liblog \
libz \
libziparchive
LOCAL_PICKUP_FILES := $(LOCAL_PATH)/data
include $(BUILD_HOST_NATIVE_TEST)
# ==========================================================
# Build the device tests: libandroidfw_tests
# ==========================================================
ifneq ($(SDK_ONLY),true)
include $(CLEAR_VARS)
LOCAL_MODULE := libandroidfw_tests
LOCAL_CFLAGS := $(androidfw_test_cflags)
LOCAL_SRC_FILES := $(testFiles) \
BackupData_test.cpp \
ObbFile_test.cpp \
LOCAL_SHARED_LIBRARIES := \
libandroidfw \
libbase \
libcutils \
libutils \
libui \
libziparchive
LOCAL_PICKUP_FILES := $(LOCAL_PATH)/data
include $(BUILD_NATIVE_TEST)
# ==========================================================
# Build the device benchmarks: libandroidfw_benchmarks
# ==========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libandroidfw_benchmarks
LOCAL_CFLAGS := $(androidfw_test_cflags)
LOCAL_SRC_FILES := $(benchmarkFiles)
LOCAL_STATIC_LIBRARIES := \
libgoogle-benchmark
LOCAL_SHARED_LIBRARIES := \
libandroidfw \
libbase \
libcutils \
libutils \
libziparchive
LOCAL_PICKUP_FILES := $(LOCAL_PATH)/data
include $(BUILD_NATIVE_TEST)
endif # Not SDK_ONLY