2015-03-11 22:58 GMT+03:00 Cosmin Boaca
On 11 March 2015 at 21:30, Antony Polukhin
wrote: 2015-03-11 15:14 GMT+03:00 Cosmin Boaca
: No need to worry. We've just started with that intrusive things. Let's try to tune our implementation: * we do not need constant time size(), so let's provide `optimize_size<true>` option for sets * turn link mode into `link_mode
` for sets at least when measuring performance (turn back to safe_mode for debug purposes after measure) * the sweetest thing: trie_node does not need `pred_node` and `next_node` pointers any more. Just use `--children_type::s_iterator_to(*this)` and `++children_type::s_iterator_to(*this)` I didn't thought of this. I will try to do the suggested changes. So you think I should merge the branch into master ?
To be honest, I'm very surprised to see the std::map outperforming intrusive containers. Make a tag `before-intrusive` on master branch, so that I could investigate the issue some time later. After that - just merge the intrusive version to master. -- Best regards, Antony Polukhin