This article present comparison of strings (and some iostreams features) implementation in STLport (trunk) and libstdc++. This tests also can help to answer on questions: COW or non-COW strings implementation better? What allocator is better? Under what conditions? This comparison is done on the base of STLport strings, ropes and libstdc++ strings. I expect that this results will help to make decision between STL implementations as well proper choice of strings implementation. And, of cause, it will help in future development of STLport.
compare.pdf (128 Кб)
P.S.
Эта статья уже публиковалась, но вчера ее обновили.
![](/Forum/Images/smile.gif)
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
Уж лучше б он по-русски писал!
Если ты осилил, то мог бы кратко подытожить?
Здравствуйте, Roman Odaisky, Вы писали:
RO>Если ты осилил, то мог бы кратко подытожить?
В конце статьи нашелся раздел
10 Conclusions
This tests show that
for processing long strings (greater than 50K) the best choice is ropes;
if you use strings with sizes 0.5K–50K then strings implementation from native
GNU libstdc++ is a good choice; this will be good too if you only pass strings
as parameters, without modifictions (but this is bad programming technique nevertheless);
if you general work is modification of strings with sizes less then 0.5K, the
strings from STLport are for you;
the time of advantage of node_alloc in STLport is in the past; progress in
allocation algorithms in core system eliminate positive effect of node_alloc
in single-threaded applications and demonstrate significant advantage of core
system allocators in multi-threaded applications;
no valuable performance advantage of C format output over C++ iosreams;
unbuffered output has ugly performance (is it new fact for you?);
no reasons to use node_alloc in STLport—malloc_alloc show better (or significant
better) results;
string proxy object (aka expression template) technique is very useful.
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>SDB>This article present comparison of strings (and some iostreams features) implementation in STLport (trunk) and libstdc++. This tests also can help to answer on questions: COW or non-COW strings implementation better? What allocator is better? Under what conditions? This comparison is done on the base of STLport strings, ropes and libstdc++ strings. I expect that this results will help to make decision between STL implementations as well proper choice of strings implementation. And, of cause, it will help in future development of STLport.
Протестировали хотя бы на разных компиляторах. А так
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>SDB>This article present comparison of strings (and some iostreams features) implementation in STLport (trunk) and libstdc++. This tests also can help to answer on questions: COW or non-COW strings implementation better? What allocator is better? Under what conditions? This comparison is done on the base of STLport strings, ropes and libstdc++ strings. I expect that this results will help to make decision between STL implementations as well proper choice of strings implementation. And, of cause, it will help in future development of STLport.
SDB>compare.pdf (128 Кб)
SDB>P.S.
SDB>Эта статья уже публиковалась, но вчера ее обновили.
Минус, что нет стандартной библиотеки из msvc. Как никак самая используемая реализация.
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>SDB>This article present comparison of strings (and some iostreams features) implementation in STLport (trunk) and libstdc++. This tests also can help to answer on questions: COW or non-COW strings implementation better? What allocator is better? Under what conditions? This comparison is done on the base of STLport strings, ropes and libstdc++ strings. I expect that this results will help to make decision between STL implementations as well proper choice of strings implementation. And, of cause, it will help in future development of STLport.
SDB>compare.pdf (128 Кб)
SDB>P.S.
SDB>Эта статья уже публиковалась, но вчера ее обновили.
Если кратко то без сравнения с STL MSVC 6, 7, 7.1, 8 толку "маловато будет"(c)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>