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