rtlil: speed up SigSpec::sort_and_unify()
authorRick Altherr <kc8apf@kc8apf.net>
Sun, 31 Jan 2016 16:55:49 +0000 (08:55 -0800)
committerRick Altherr <kc8apf@kc8apf.net>
Sun, 31 Jan 2016 17:20:16 +0000 (09:20 -0800)
commit0265d7b1006e0946eb4635d73a6d49d31b3e4235
tree3661ebb9cad772243169a52189cd5a0da9813843
parent89dc40f162a7f06d15ad489066dd0cc64937fbd7
rtlil: speed up SigSpec::sort_and_unify()

std::set<> internally is often a red-black tree which is fairly
expensive to create but fast to lookup.  In the case of
sort_and_unify(), a set<> is constructed as a temporary object to
attempt to speed up lookups.  Being a temporarily, however, the cost of
creation far outweights the lookup improvement and is a net performance
loss.  Instead, sort the vector<> that already exists and then apply
std::unique().
kernel/rtlil.cc