commit 4d157807af659ec392043cffd36935eba8c634af Author: Laslo Hunhold <d...@frign.de> AuthorDate: Sat Jan 8 16:56:47 2022 +0100 Commit: Laslo Hunhold <d...@frign.de> CommitDate: Sat Jan 8 16:56:47 2022 +0100
Rename gen/properties.c to gen/character-properties.c At first I thought we would have one big lookup-table for all properties, but it doesn't make sense for multiple reasons. Even though compression remains great even for more than one property (it goes down to roughly 95-96%), this still has a drastic impact on performance. Additionally, as mentioned earlier, this allows better LTO for the use of a single or few functions (which should be the common case), because each data-table is separate. Signed-off-by: Laslo Hunhold <d...@frign.de> diff --git a/Makefile b/Makefile index f30e0af..dacf8b2 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ DATA =\ GEN =\ gen/character-test\ - gen/properties\ + gen/character-properties\ SRC =\ src/character\ @@ -42,9 +42,9 @@ benchmark/utf8-decode.o: benchmark/utf8-decode.c config.mk gen/character-test.h benchmark/util.o: benchmark/util.c config.mk benchmark/util.h gen/character-prop.o: gen/character-prop.c config.mk gen/util.h gen/character-test.o: gen/character-test.c config.mk gen/util.h -gen/properties.o: gen/properties.c config.mk gen/util.h +gen/character-properties.o: gen/character-properties.c config.mk gen/util.h gen/util.o: gen/util.c config.mk gen/util.h -src/character.o: src/character.c config.mk gen/properties.h grapheme.h src/util.h +src/character.o: src/character.c config.mk gen/character-properties.h grapheme.h src/util.h src/utf8.o: src/utf8.c config.mk grapheme.h src/util.o: src/util.c config.mk gen/types.h grapheme.h src/util.h test/character.o: test/character.c config.mk gen/character-test.h grapheme.h test/util.h @@ -55,13 +55,13 @@ test/util.o: test/util.c config.mk test/util.h benchmark/character: benchmark/character.o benchmark/util.o libgrapheme.a benchmark/utf8-decode: benchmark/utf8-decode.o benchmark/util.o libgrapheme.a gen/character-test: gen/character-test.o gen/util.o -gen/properties: gen/properties.o gen/util.o +gen/character-properties: gen/character-properties.o gen/util.o test/character: test/character.o test/util.o libgrapheme.a test/utf8-encode: test/utf8-encode.o test/util.o libgrapheme.a test/utf8-decode: test/utf8-decode.o test/util.o libgrapheme.a gen/character-test.h: data/GraphemeBreakTest.txt gen/character-test -gen/properties.h: data/emoji-data.txt data/GraphemeBreakProperty.txt gen/properties +gen/character-properties.h: data/emoji-data.txt data/GraphemeBreakProperty.txt gen/character-properties data/emoji-data.txt: wget -O $@ https://www.unicode.org/Public/14.0.0/ucd/emoji/emoji-data.txt diff --git a/gen/properties.c b/gen/character-properties.c similarity index 100% rename from gen/properties.c rename to gen/character-properties.c diff --git a/src/character.c b/src/character.c index 1ca94d0..c4ad7e8 100644 --- a/src/character.c +++ b/src/character.c @@ -4,7 +4,7 @@ #include <stdlib.h> #include <string.h> -#include "../gen/properties.h" +#include "../gen/character-properties.h" #include "../grapheme.h" #include "util.h"