|
Boost : |
Subject: Re: [boost] [ boost ] [ Trie ]
From: Antony Polukhin (antoshkka_at_[hidden])
Date: 2015-03-11 16:27:17
2015-03-11 22:58 GMT+03:00 Cosmin Boaca <boost.cosmin.boaca_at_[hidden]>:
> On 11 March 2015 at 21:30, Antony Polukhin <antoshkka_at_[hidden]> wrote:
>
> > 2015-03-11 15:14 GMT+03:00 Cosmin Boaca <boost.cosmin.boaca_at_[hidden]>:
> >
>
>
> > 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<normal_link>` 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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk