summaryrefslogtreecommitdiff
path: root/src/stylesheet.h
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2008-11-30 16:43:37 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2008-11-30 16:43:37 +0000
commit79a34e5d5a9a93d9232efd595291bc5ebea2f2c5 (patch)
treec35e7cc49699420e01a973f4bccb639931e9cc1d /src/stylesheet.h
parent7dad1d392d1c380648f6de13f81ade48ce958be1 (diff)
downloadlibcss-79a34e5d5a9a93d9232efd595291bc5ebea2f2c5.tar.gz
libcss-79a34e5d5a9a93d9232efd595291bc5ebea2f2c5.tar.bz2
Use parserutils_hash instead of parserutils_dict.
This approximately halves the size of the interned string table. We now have the following for allzengarden.css: 5507 slots used (of 8192 => 67.224121%) Data: 3 full blocks: 12288 bytes 10 partial blocks: 38946 bytes (of 40960 => 95.083008%) Total: 53488 (4112) (32) Entries: 21 full blocks: 86016 bytes 1 partial blocks: 2096 bytes (of 4096 => 51.171875%) Total: 90496 (4112) (32) Hash structures: 65592 Which gives a total dictionary size of 209,576 bytes. Note that 43% of this is parserutils_hash_entry structures (length-pointer pairs). It would be good, therefore, to be able to purge these. svn path=/trunk/libcss/; revision=5852
Diffstat (limited to 'src/stylesheet.h')
-rw-r--r--src/stylesheet.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/stylesheet.h b/src/stylesheet.h
index a331299..1ab3939 100644
--- a/src/stylesheet.h
+++ b/src/stylesheet.h
@@ -11,7 +11,7 @@
#include <inttypes.h>
#include <stdio.h>
-#include <parserutils/utils/dict.h>
+#include <parserutils/utils/hash.h>
#include <libcss/errors.h>
#include <libcss/functypes.h>
@@ -169,7 +169,7 @@ struct css_stylesheet {
css_parser *parser; /**< Core parser for sheet */
void *parser_frontend; /**< Frontend parser */
- parserutils_dict *dictionary; /**< String dictionary */
+ parserutils_hash *dictionary; /**< String dictionary */
css_alloc alloc; /**< Allocation function */
void *pw; /**< Private word */