• Nikias Bassen's avatar
    plist: Improve plist_dict_next_item() drastically by iterating on node list directly · 3f967317
    Nikias Bassen authored
    As Xiao Deng pointed out in #131, plist_dict_next_item() was very inefficient.
    For each iteration, node_nth_child() was called with the iterator value, which
    would walk through the child node list on EVERY iteration. If the dictionary
    is large this makes things very slow. More than that, after reaching the key
    node the code was calling node_nth_child() AGAIN (with iterator value + 1) to
    reach the value node, which would walk through the node list once more.
    This commit changes the iterator to be a node_t pointer so that the iteration
    is done on the node list directly.
    3f967317
Name
Last commit
Last update
cython Loading commit data...
fuzz Loading commit data...
include Loading commit data...
libcnary Loading commit data...
m4 Loading commit data...
src Loading commit data...
test Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
COPYING.LESSER Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
doxygen.cfg.in Loading commit data...