add a lib for rendering text in sdl2 and rules to make in makefile
This commit is contained in:
54
SDL2_ttf/external/harfbuzz/perf/README.md
vendored
Normal file
54
SDL2_ttf/external/harfbuzz/perf/README.md
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
# Building and Running
|
||||
|
||||
Benchmarks are implemented using [Google Benchmark](https://github.com/google/benchmark).
|
||||
|
||||
To build the benchmarks in this directory you need to set the benchmark
|
||||
option while configuring the build with meson:
|
||||
|
||||
```
|
||||
meson build -Dbenchmark=enabled --buildtype=release
|
||||
```
|
||||
or:
|
||||
```
|
||||
meson build -Dbenchmark=enabled --buildtype=debugoptimized
|
||||
```
|
||||
|
||||
|
||||
Then build a specific benchmark binaries with ninja:
|
||||
```
|
||||
ninja -Cbuild perf/benchmark-set
|
||||
```
|
||||
or just build the whole project:
|
||||
```
|
||||
ninja -Cbuild
|
||||
```
|
||||
|
||||
Finally, to run one of the benchmarks:
|
||||
|
||||
```
|
||||
./build/perf/benchmark-set
|
||||
```
|
||||
|
||||
It's possible to filter the benchmarks being run and customize the output
|
||||
via flags to the benchmark binary. See the
|
||||
[Google Benchmark User Guide](https://github.com/google/benchmark/blob/main/docs/user_guide.md#user-guide) for more details.
|
||||
|
||||
# Profiling
|
||||
|
||||
Configure the build to include debug information for profiling:
|
||||
|
||||
```
|
||||
CXXFLAGS="-fno-omit-frame-pointer" meson --reconfigure build -Dbenchmark=enabled --buildtype=debug
|
||||
ninja -Cbuild
|
||||
```
|
||||
|
||||
Then run the benchmark with perf:
|
||||
|
||||
```
|
||||
perf record -g build/perf/benchmark-subset --benchmark_filter="BM_subset_codepoints/subset_notocjk/100000" --benchmark_repetitions=5
|
||||
```
|
||||
You probably want to filter to a specific benchmark of interest and set the number of repititions high enough to get a good sampling of profile data.
|
||||
|
||||
Finally view the profile with:
|
||||
|
||||
perf report
|
||||
Reference in New Issue
Block a user