Please tell me something about my container, don't be silent. I firmly intend to offer it to boost, because it's much faster than competitors (by a constant factor).
I am interested in using the container on a microcontroller, for which performance is crucial. I intend to use your container in combination with a custom allocator.
Cheers Chris
Hi Chris! Thank you for your answer. If you have any questions regarding the container, feel free to ask me.
Hi Alex,
I can provide you with my benchmark results below. Please do
not be discouraged by the potentially disappointing report, as
I suspect my benchmark might be stressing the node-linked
list in the wrong areas --- and with the wrong competition
(std::vector).
I tested the container with a floating-point benchmark
that also performs numerous sequential operations on
iterators ranging from [begin, end).
I used a desktop PC with Microsoft Visual Studio 2013
and an ARM(R) A8 microcontroller with GCC 4.8.2.
I used the container with a custom allocator having
a memory pool of 512 bytes.
Here is my report and the interpretation of the report
below the report:
---------------------------------------------------------------
I found many warnings in both GCC as well as VC:
- redundant semicolons (empty statements)
- local variables shadowing class members.
- non-explicit conversion to/from signed/unsigned
- signed / unsigned comparison
- unary minus applied to unsigned type
- unreferenced local variables
I stripped the implementation:
* I removed all exception handling and asserts.
I identified the container uses in the benchmark:
* Create two containers.
* One container has 4 floats, the other has 5 floats.
Do in a loop about 10 times the following:
* On each container apply std::accumulate with std::multiplies.
* On each container apply std::for_each with element incrementation.
* Do the normal floating-point operations and loop management.
I use a custom allocator with 512 byte pool:
* typedef util::ring_allocator<T> allocator_type;
I use either btree_seq or std::vector:
* typedef btree_seq
Please tell me something about my container, don't be silent. I firmly intend to offer it to boost, because it's much faster than competitors (by a constant factor).
I am interested in using the container on a microcontroller, for which performance is crucial. I intend to use your container in combination with a custom allocator.
I think folks are still working very hard on the release. I am also very busy with normal work and the GSoC 2014 program. So could you please grant us maybe a bit more time?
Cheers Chris
Hi Chris!
Thank you for your answer. If you have any questions regarding the container,
feel free to ask me.
By the way, if you are going to use it on microcontroller, other template
parameters L,M might be better (smaller, I think), also default are good
enough, I believe. I mean: btree_seq