Boost logo

Boost :

Subject: Re: [boost] [container] New container: why is everybody silent?
From: Aleksandr Kupriianov (alexkupri_at_[hidden])
Date: 2014-07-17 07:44:59


Hi, Chris!

Christopher Kormanyos <e_float <at> yahoo.com> writes:

> I agree. Then it is important to provide the users with
> information regarding where btree_seq is most efficient,
> and where it is less efficient.

Thank you so much for testing my thing. External testing is very important
psychological thing, because my own tests can be too gentle.

Random insertions and deletions are things where it's champion.

> Some library developers might wonder how btree_seq
> is different from std::list. What missing niche in the STL
> does btree_seq intend to fill?

Shortly speaking my thing is between list and vector. It sells everything for
O(log(N)) price. In the list you can insert something in the middle for a
constant time, only if you have an iterator, but going into the middle will
take O(N) time. If you insert in the middle using vector, it will require O
(N) anyway.

Another niche is possible porting string on its basis. I.e., something like
this:

typedef string_abstraction<char,vector> string;
typedef string_abstraction<char,btree_seq> scalable_string;

>
> 8-bit Atmel(R) AVR(R) microcontroller
>
> Size analysis:
> * using neither     :  2240 byte
> * using std::vector :  4448 byte, delta =  2208
> * using btree_seq   : 13504 byte, delta = 11264
>

I'm not sure I understand your words "using neither", that's why I asked for
a link. Yes, size for 8-bit Atmel is a little bit unexpected; normally it
takes roughly 2 times more memory than vector.

Thank you 1e10 times for testing,
Best regards,
Aleksandr


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk