Barnyard2 takes a very long time to start due to poorly
optimized list code. For every SID added to the list, the entire
list is iterated to get to the tail of the list. Adding and
maintaining a tail pointer prevents this, since we can just add
entries directly at the end.
The --unique-map option is also added, this prevents each SID from
the files being checked against what's in memory. Most tools
generate unique files, making this check unnecessary and wasteful.
Barnyard2 takes a very long time to start due to poorly optimized list code. For every SID added to the list, the entire list is iterated to get to the tail of the list. Adding and maintaining a tail pointer prevents this, since we can just add entries directly at the end.
The --unique-map option is also added, this prevents each SID from the files being checked against what's in memory. Most tools generate unique files, making this check unnecessary and wasteful.