on master help sign in
Reduce the number of nodes to 500
866ac03Neil Mitchell
cbits/hexml.c+4−2
@@ -486,11 +486,13 @@ str parse_content(document* d)
486 return res;
486 return res;
487}
487}
488
488
489+// Based on looking at ~50Kb XML documents, they seem to have ~700 attributes
490+// and ~300 nodes, so size appropriately to cope with that.
489typedef struct
491typedef struct
490{
492{
491 document document;
493 document document;
492 attr attrs[1000];
494 attr attrs[1000];
493− node nodes[1000];
495+ node nodes[500];
494} buffer;
496} buffer;
495
497
496document* document_parse(char* s, int slen)
498document* document_parse(char* s, int slen)
@@ -509,7 +511,7 @@ document* document_parse(char* s, int slen)
509 d->attrs.used = 0;
511 d->attrs.used = 0;
510 d->attrs.attrs = buf->attrs;
512 d->attrs.attrs = buf->attrs;
511 d->attrs.alloc = NULL;
513 d->attrs.alloc = NULL;
512− d->nodes.size = 1000;
514+ d->nodes.size = 500;
513 d->nodes.used_back = 0;
515 d->nodes.used_back = 0;
514 d->nodes.used_front = 1;
516 d->nodes.used_front = 1;
515 d->nodes.nodes = buf->nodes;
517 d->nodes.nodes = buf->nodes;