108bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka/* 208bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * Copyright (C) 2016 The Android Open Source Project 308bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * 408bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * Licensed under the Apache License, Version 2.0 (the "License"); 508bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * you may not use this file except in compliance with the License. 608bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * You may obtain a copy of the License at 708bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * 808bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * http://www.apache.org/licenses/LICENSE-2.0 908bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * 1008bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * Unless required by applicable law or agreed to in writing, software 1108bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * distributed under the License is distributed on an "AS IS" BASIS, 1208bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1308bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * See the License for the specific language governing permissions and 1408bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka * limitations under the License. 1508bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka */ 1608bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka#include <benchmark/benchmark.h> 1708bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka 1808bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka#include "FontLanguage.h" 1908bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka 2014e2d136aaef271ba131f917cf5f27baa31ae5adSeigo Nonakanamespace minikin { 2108bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka 2208bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonakastatic void BM_FontLanguage_en_US(benchmark::State& state) { 2308bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka while (state.KeepRunning()) { 2408bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka FontLanguage language("en-US", 5); 2508bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka } 2608bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka} 2708bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo NonakaBENCHMARK(BM_FontLanguage_en_US); 2808bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka 2908bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonakastatic void BM_FontLanguage_en_Latn_US(benchmark::State& state) { 3008bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka while (state.KeepRunning()) { 3108bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka FontLanguage language("en-Latn-US", 10); 3208bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka } 3308bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo Nonaka} 3408bfef04afed092b6a6a8a5fc5d1e1165c5304aeSeigo NonakaBENCHMARK(BM_FontLanguage_en_Latn_US); 3514e2d136aaef271ba131f917cf5f27baa31ae5adSeigo Nonaka 36e1d7f6168a0a485ecac75cfc9ae3bdc5143d0fb1yiruistatic void BM_FontLanguage_en_Latn_US_u_em_emoji(benchmark::State& state) { 37e1d7f6168a0a485ecac75cfc9ae3bdc5143d0fb1yirui while (state.KeepRunning()) { 38e1d7f6168a0a485ecac75cfc9ae3bdc5143d0fb1yirui FontLanguage language("en-Latn-US-u-em-emoji", 21); 39e1d7f6168a0a485ecac75cfc9ae3bdc5143d0fb1yirui } 40e1d7f6168a0a485ecac75cfc9ae3bdc5143d0fb1yirui} 41e1d7f6168a0a485ecac75cfc9ae3bdc5143d0fb1yiruiBENCHMARK(BM_FontLanguage_en_Latn_US_u_em_emoji); 42e1d7f6168a0a485ecac75cfc9ae3bdc5143d0fb1yirui 4314e2d136aaef271ba131f917cf5f27baa31ae5adSeigo Nonaka} // namespace minikin 44