mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-25 20:27:31 +08:00
Add style targetted benchmark.
This commit is contained in:
parent
e5eb822d44
commit
5094b5f3fb
@ -1,3 +1,4 @@
|
|||||||
|
#include <iostream>
|
||||||
#include <benchmark/benchmark.h>
|
#include <benchmark/benchmark.h>
|
||||||
|
|
||||||
#include "ftxui/dom/elements.hpp" // for gauge, separator, operator|, text, Element, hbox, vbox, blink, border, inverted
|
#include "ftxui/dom/elements.hpp" // for gauge, separator, operator|, text, Element, hbox, vbox, blink, border, inverted
|
||||||
@ -43,9 +44,38 @@ static void BencharkText(benchmark::State& state) {
|
|||||||
}
|
}
|
||||||
BENCHMARK(BencharkText)->DenseRange(0, 10, 1);
|
BENCHMARK(BencharkText)->DenseRange(0, 10, 1);
|
||||||
|
|
||||||
|
static void BenchmarkStyle(benchmark::State& state) {
|
||||||
|
while (state.KeepRunning()) {
|
||||||
|
Elements elements;
|
||||||
|
for (int i = 0; i < state.range(0); ++i) {
|
||||||
|
elements.push_back(vbox({
|
||||||
|
text("Test") | bold,
|
||||||
|
text("Test") | dim,
|
||||||
|
text("Test") | inverted,
|
||||||
|
text("Test") | underlined,
|
||||||
|
text("Test") | underlinedDouble,
|
||||||
|
text("Test") | strikethrough,
|
||||||
|
text("Test") | color(Color::Red),
|
||||||
|
text("Test") | bgcolor(Color::Red),
|
||||||
|
text("Test") | blink,
|
||||||
|
text("Test") | automerge,
|
||||||
|
}));
|
||||||
|
elements.push_back(separator());
|
||||||
|
}
|
||||||
|
auto document = hbox(std::move(elements));
|
||||||
|
Screen screen(state.range(1), state.range(1));
|
||||||
|
Render(screen, document);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
BENCHMARK(BenchmarkStyle)
|
||||||
|
->ArgsProduct({
|
||||||
|
benchmark::CreateDenseRange(1, 10, 3), // Number of elements.
|
||||||
|
benchmark::CreateDenseRange(10, 200, 20), // Screen width.
|
||||||
|
});
|
||||||
|
|
||||||
} // namespace ftxui
|
} // namespace ftxui
|
||||||
// NOLINTEND
|
// NOLINTEND
|
||||||
|
|
||||||
// Copyright 2021 Arthur Sonzogni. All rights reserved.
|
// Copyright 2021 Arthur Sonzogni. All rights reserved.
|
||||||
// Use of this source code is governed by the MIT license that can be found in
|
// Use of this source code is governed by the MIT license that can be found in
|
||||||
// the LICENSE file.l
|
// the LICENSE file.
|
||||||
|
Loading…
Reference in New Issue
Block a user