crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Адекватная замена для MS STL deque?, нужна замена в связи с багой в MS STL
Iron Bug
  опции профиля:
сообщение 6.10.2010, 13:45
Сообщение #1


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


В связи с обнаружившейся страшной багой ищу какую-нибудь опенсорцную реализацию дека (ну или хотя бы очереди с итератором или оператором []).

Поиск по гуглу пока не дал ничего вразумительного (слишком распространённое название - deque), а свой огород городить банально не хватает времени... :( Конечно, если не найду, то придётся возиться с динамическими массивами, а у меня ещё дофига другой работы, причём довольно срочной.
Может, кто подскажет такую готовую библиотечку на С++ или С?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Iron Bug
  опции профиля:
сообщение 6.10.2010, 22:16
Сообщение #2


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


дебаг значения не имеет. масштаб мельче. смотри мелкие изменения на каждой итерации. смысл в том, что в конце каждого цикла память не возвращается в исходное состояние (как теоретически должно происходить, ибо вектор уничтожается), а наоборот растёт, пока не достигнет какого-то непонятного предела, затем падает до начального состояния и снова по кругу.
это тестовая программка, данных мало, поток один. а вот если её нагрузить данными (засунуть вместо int какую-нибудь структурку или класс), да запустить пару-тройку потоков в параллели - тогда эффект будет сильно заметен.
когда много потоков начинают работать с векторами (даже мелкими), создаётся ощущение, что у проги течёт память. собственно, я так и нашла эту "фичу": у меня у софтины память нарастала и нарастала. я насмерть билась, пытаясь найти мнимую утечку памяти. а потом заметила, что когда прога доходит до определённого предела, она "схлапывается" и снова начинает расти. начала копать, нашла статьи и выяснила, что это вектор гадит.

Цитата(Алексей1153 @ 6.10.2010, 21:27) *
просто об этом надо заранее думать, вот и всё. Резервировать же можно кусками

а резервировать кусками не выходит - у меня никогда не известно, какой буфер накопится до момента, когда проснётся сливающий данные поток. это зависит от того, что будет выплёвывать хард и как будет нагружен проц. так что там заранее ничего нельзя предсказать. пишут несколько потоков, сливает один. при таком раскладе заранее планировать ничего невозможно.
можно было бы кое-где заменить deque на queue, но в остальных случаях мне ещё нужны итераторы. а тут queue уже не проканает.

собственно, раз там всё равно баги, я планирую помаленьку перейти на опенсорцный STL и не парить себе моск. так оно надёжнее и ещё минус одна зависимость от мелкософта, который я терпеть не могу :)

Сообщение отредактировал Iron Bug - 6.10.2010, 22:19
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Iron Bug   Адекватная замена для MS STL deque?   6.10.2010, 13:45
- - Алексей1153   а какие основные плюсы использования дека ? (не до...   6.10.2010, 13:52
- - Iron Bug   Цитата(Алексей1153 @ 6.10.2010, 16:52) а ...   6.10.2010, 13:58
- - Алексей1153   Цитата(Iron Bug @ 6.10.2010, 16:58) он не...   6.10.2010, 14:03
- - Iron Bug   Цитата(Алексей1153 @ 6.10.2010, 17:03) ну...   6.10.2010, 14:30
- - Алексей1153   Цитата(Iron Bug @ 6.10.2010, 17:30) STL н...   6.10.2010, 14:37
- - Iron Bug   Нашла кое-какие опенсорцные STL библиотеки: http:/...   6.10.2010, 14:46
- - Алексей1153   Цитата(Iron Bug @ 6.10.2010, 17:46) а вых...   6.10.2010, 14:48
- - kwisp   Iron Bug, есть еще реализация stl на сайте sgi и ...   6.10.2010, 14:53
- - Iron Bug   Цитата(Алексей1153 @ 6.10.2010, 17:48) да...   6.10.2010, 15:01
- - kwisp   Iron Bug, попробовал твой пример в linux - память...   6.10.2010, 15:26
- - Iron Bug   Цитата(kwisp @ 6.10.2010, 18:26) попробов...   6.10.2010, 15:35
- - kwisp   Цитата(Iron Bug @ 6.10.2010, 16:35) я пиш...   6.10.2010, 15:41
- - Iron Bug   Цитата(kwisp @ 6.10.2010, 18:41) ну тут к...   6.10.2010, 15:45
- - Алексей1153   Цитата(kwisp @ 6.10.2010, 18:26) конечно ...   6.10.2010, 18:27
- - Iron Bug   дебаг значения не имеет. масштаб мельче. смотри ме...   6.10.2010, 22:16
|- - AD   Цитата(Iron Bug @ 6.10.2010, 23:16) собст...   7.10.2010, 7:59
- - Алексей1153   Цитата(Iron Bug @ 7.10.2010, 1:16) и ещё ...   6.10.2010, 22:34
- - Iron Bug   я пока не утверждала, что опенсорцный STL эффектив...   7.10.2010, 8:40
|- - AD   Блин. Где собрать? Как подключить? Внешне отличать...   7.10.2010, 8:42
- - Iron Bug   Цитата(AD @ 7.10.2010, 11:42) Блин. Где с...   7.10.2010, 9:52
- - Iron Bug   Ура! Я собрала STLport с бустом под студией 20...   7.10.2010, 13:15
- - Iron Bug   Чуть поторопилась я с вариантом сборки STLport c б...   7.10.2010, 15:52
- - Iron Bug   В общем, под вендой у меня всё заработало. Есть не...   8.10.2010, 9:50
- - Iron Bug   Аццкая жесть или как под вендой заставить STLport ...   11.10.2010, 13:21


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.1.2025, 11:50