summaryrefslogtreecommitdiff
path: root/src/treebuilder/Makefile
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2021-05-15 19:41:55 +0100
committerMichael Drake <michael.drake@codethink.co.uk>2021-05-15 19:59:24 +0100
commit4de031adb16019295d67fe02e515f9982b32a74b (patch)
tree862c501a041c5e2cd4a987226175b40c6774a6ac /src/treebuilder/Makefile
parent6c69e82879901a3a8f5eb19914e7ffc4224d0eca (diff)
downloadlibhubbub-4de031adb16019295d67fe02e515f9982b32a74b.tar.gz
libhubbub-4de031adb16019295d67fe02e515f9982b32a74b.tar.bz2
Treebuilder: Massively optimise element type from name with gperf.
Loading the html5 single page spec: * We were spending 10.81% of total runtime in element_type_from_name. Now it takes 0.66% of total runtime. * Total instruction fetch cost is reduced from 5,660,475,511 to 4,523,112,517.
Diffstat (limited to 'src/treebuilder/Makefile')
-rw-r--r--src/treebuilder/Makefile8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/treebuilder/Makefile b/src/treebuilder/Makefile
index 31feae1..ce00a4c 100644
--- a/src/treebuilder/Makefile
+++ b/src/treebuilder/Makefile
@@ -6,6 +6,12 @@ DIR_SOURCES := treebuilder.c \
in_cell.c in_select.c in_select_in_table.c \
in_foreign_content.c after_body.c in_frameset.c \
after_frameset.c after_after_body.c after_after_frameset.c \
- generic_rcdata.c
+ generic_rcdata.c element-type.c
+
+$(DIR)element-type.c: $(DIR)element-type.gperf
+ $(VQ)$(ECHO) " GPERF: $<"
+ $(Q)gperf --output-file=$@ $<
+
+CLEAN_ITEMS := $(DIR)element-type.c
include $(NSBUILD)/Makefile.subdir