Array based zone database with improved performance.
HAT-trie zone database wasn't effective for small number of zones, because hashing presented a constant penalty. New zone database is represented by an array of zones, sorted by number of labels and then lexicographically. Zones are then grouped by the label count into stack, so obviously mismatching names are pruned when searching. Each labelcount group is then search either linearly or using binary search based on the array length.
parent
a432a6cf
Branches
Tags
Showing
- Knot.files 3 additions, 0 deletionsKnot.files
- src/Makefile.am 2 additions, 0 deletionssrc/Makefile.am
- src/knot/ctl/remote.c 0 additions, 2 deletionssrc/knot/ctl/remote.c
- src/knot/main.c 1 addition, 1 deletionsrc/knot/main.c
- src/knot/server/server.c 0 additions, 5 deletionssrc/knot/server/server.c
- src/knot/server/zones.c 72 additions, 138 deletionssrc/knot/server/zones.c
- src/libknot/nameserver/name-server.c 1 addition, 1 deletionsrc/libknot/nameserver/name-server.c
- src/libknot/zone/zonedb.c 175 additions, 115 deletionssrc/libknot/zone/zonedb.c
- src/libknot/zone/zonedb.h 49 additions, 25 deletionssrc/libknot/zone/zonedb.h
Please register or sign in to comment