From b0a7f88f07987e3551ef787ddb5e961940a89a5b Mon Sep 17 00:00:00 2001 From: Stefan Ravn van Overeem Date: Thu, 3 Aug 2023 17:41:54 +0200 Subject: [PATCH] Change WordBreakProperty underlying type to int8_t (#715) This yields a ~1% performance improvements, likely because the smaller types causes less load on memory when bisearching the WordBreakProperty interval table Co-authored-by: ArthurSonzogni --- CHANGELOG.md | 4 ++++ src/ftxui/screen/string_internal.hpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9f0e34..e8c11b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,10 @@ current (development) See the [OSC 8 page](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda). FTXUI support proposed by @aaleino in [#662](https://github.com/ArthurSonzogni/FTXUI/issues/662). +### Screen +- Breaking: `WordBreakProperty` becomes a uint8_t enum. This yields a 0.8% + performance improvement. + ### Build - Check version compatibility when using cmake find_package() diff --git a/src/ftxui/screen/string_internal.hpp b/src/ftxui/screen/string_internal.hpp index 1d85b3e..7015d3b 100644 --- a/src/ftxui/screen/string_internal.hpp +++ b/src/ftxui/screen/string_internal.hpp @@ -32,7 +32,7 @@ int GlyphCount(const std::string& input); // Properties from: // https://www.unicode.org/Public/UCD/latest/ucd/auxiliary/WordBreakProperty.txt -enum class WordBreakProperty { +enum class WordBreakProperty : int8_t { ALetter, CR, Double_Quote,