Re: STL (мнение преподавателя)
От: rg45 СССР  
Дата: 24.02.06 17:33
Оценка:
"NoFate" <22574@users.rsdn.ru> wrote in message
news:1697456@news.rsdn.ru...
From: NoFate nofatya.livejournal.com

Сегодня узнал о том, что один преподаватель МГТУ им. Баумана имеет к STL
достаточно негативное отношение. Мотивирует тем, что иногда программы с
использованием STL ведут себя странно на больших объемах данных. Он приводил
пример из жизни: студент выполнил курсовую, связанную с работой с БД на
"живом" языке (или как оно называется) и при подключении больших словарей
время работы стало экспоненциальным, хотя должно было быть линейным, что и
наблюдалось на малых словарях. Так вот, потом для интереса переписали без
STL, но с теми же алгоритмами — всё заработало.

Я, в общем-то, не очень верю подобным рассказам пусть даже идут они от
преподавателей, но всё таки интересно мнение. Возможно ли подобное? И как
оно возможно?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
STL (мнение преподавателя) Оценить


По симптомам можно преположить, что в какой то момент у системы кончается
оперативная память и начинает работать файл подкачки.
Во-вторых ничего не говорится о том насколько грамотным, и рациональным было
использоывание STL в данном приложении. В-третьих кто проверял, что студент
подсунул не отладочный вариант приложения?
Posted via RSDN NNTP Server 1.9
--
Завтра сегодня будет вчера
Re: STL (мнение преподавателя)
От: rg45 СССР  
Дата: 24.02.06 17:54
Оценка: :))
А вообще любопытно было бы узнать, о преподавателе какой дисциплины идет
речь? Не "охрана труда" случайно?
Posted via RSDN NNTP Server 1.9
--
Завтра сегодня будет вчера
Re[2]: STL (мнение преподавателя)
От: NoFate Россия  
Дата: 24.02.06 18:01
Оценка:
Здравствуйте, rg45, Вы писали:

R>А вообще любопытно было бы узнать, о преподавателе какой дисциплины идет

R>речь? Не "охрана труда" случайно?

Базы данных, если не ошибаюсь
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: STL (мнение преподавателя)
От: Аноним  
Дата: 24.02.06 18:12
Оценка:
Здравствуйте, NoFate, Вы писали:

NF>Здравствуйте, rg45, Вы писали:


R>>А вообще любопытно было бы узнать, о преподавателе какой дисциплины идет

R>>речь? Не "охрана труда" случайно?

NF>Базы данных, если не ошибаюсь


Для этого есть СУБД, зачем еще stl там нужен?
Re[4]: STL (мнение преподавателя)
От: NoFate Россия  
Дата: 24.02.06 18:13
Оценка:
Здравствуйте, <Аноним>, Вы писали:


NF>>Базы данных, если не ошибаюсь

А>Для этого есть СУБД, зачем еще stl там нужен?

Всё написано в корневом сообщении...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: STL (мнение преподавателя)
От: Павел Кузнецов  
Дата: 24.02.06 19:05
Оценка: +1
#Имя: От модератора
Здравствуйте, rg45, Вы писали:

R> "NoFate" <22574@users.rsdn.ru> wrote in message

R>news:1697456@news.rsdn.ru...
R> From: NoFate nofatya.livejournal.com

R> <...>


Настройте, пожалуйста, NNTP-клиент в соответствии с инструкцией: http://rsdn.ru/projects/RsdnNntp/rsdnnntp.xml#EDA , и цитируйте в принятом на РСДН формате, отбивая цитаты символом '>' в начале строки (опционально добавляя инициалы автора оригинального сообщения).
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[3]: STL (мнение преподавателя)
От: rg45 СССР  
Дата: 24.02.06 19:14
Оценка:
"Павел Кузнецов" <5834@users.rsdn.ru> wrote in message news:1697678@news.rsdn.ru...
>


теперь нормально?
Posted via RSDN NNTP Server 1.9
--
Завтра сегодня будет вчера
Re[2]: STL (мнение преподавателя)
От: DigitPower  
Дата: 25.02.06 10:24
Оценка:
Здравствуйте, DigitPower, Вы писали:

DP>А теперь конкретней что, как, сколько ???


Значит ни чего конкретного ... просто захотелось мягко говоря по..говорить ...
У меня за много лет использования STL подобных проблем не было ...
но если все таки будет конкретный пример кода то я думаю можно будет сказать в чем проблема
Re: STL (мнение преподавателя)
От: remark Россия http://www.1024cores.net/
Дата: 25.02.06 13:33
Оценка:
Здравствуйте, NoFate, Вы писали:

NF>Сегодня узнал о том, что один преподаватель МГТУ им. Баумана имеет к STL достаточно негативное отношение. Мотивирует тем, что иногда программы с использованием STL ведут себя странно на больших объемах данных. Он приводил пример из жизни: студент выполнил курсовую, связанную с работой с БД на "живом" языке (или как оно называется) и при подключении больших словарей время работы стало экспоненциальным, хотя должно было быть линейным, что и наблюдалось на малых словарях. Так вот, потом для интереса переписали без STL, но с теми же алгоритмами — всё заработало.


NF>Я, в общем-то, не очень верю подобным рассказам пусть даже идут они от преподавателей, но всё таки интересно мнение. Возможно ли подобное? И как оно возможно?




ИМХО Им просто обидно, что они в своё время писали всё это руками. Они не могут смириться, что сейчас программист может просто заюзать библиотечный класс. За такими дешёвыми наездами на стандартную библиотеку — толи желание самому подняться, толи не знаю ещё что. В общем — не уважение преподу. Единственная поблажка ему может быть сделана за старость.
Тяжёлое детство — велосипедный спорт
Надеюсь никто из доверчивых студентов не повёлся на такие тупые разводы.

Более печально, что и среди профессиональных программистов, которые начинали писать ещё лет 10 назад тоже такие встречаются...


1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Re[3]: STL (мнение преподавателя)
От: NoFate Россия  
Дата: 25.02.06 15:13
Оценка:
Здравствуйте, DigitPower, Вы писали:


DP>Значит ни чего конкретного ... просто захотелось мягко говоря по..говорить ...

DP>У меня за много лет использования STL подобных проблем не было ...
DP>но если все таки будет конкретный пример кода то я думаю можно будет сказать в чем проблема

Не могу сказать, что за много лет, но таких проблем не возникало и у меня. Примера действительно нет =) Не давал...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: STL (мнение преподавателя)
От: axexa  
Дата: 13.03.06 07:54
Оценка:
ребята написали свои алгоритмы, вместо того, чтобы научится использовать существующие
Re[5]: STL (мнение преподавателя)
От: LuciferMoscow Россия  
Дата: 13.03.06 10:38
Оценка:
Здравствуйте, NoFate, Вы писали:
NF>Т. е. написанное ручками эффективнее, чем STL-кие реализации? Субъективное мнение — это маловероятно.
Для конкретной задачи ты скорее всего сможешь написать более эффективный контейнер
Re: STL (мнение преподавателя)
От: WiseAlex Беларусь  
Дата: 13.03.06 11:07
Оценка: 2 (2) +1
Здравствуйте, NoFate, Вы писали:

NF>Я, в общем-то, не очень верю подобным рассказам пусть даже идут они от преподавателей, но всё таки интересно мнение. Возможно ли подобное? И как оно возможно?


бывает. из опыта: чаще всего это происходит с операциями new-delete.
то с чем сталкивался на MS visualC++:
1) вина программиста
map — большое число маленьких объектов. заполнение быстое, удаление всех (т.е. clear()) при 10000 объектах — задумывалась на несколько секунд. помог boost с его аллокаторами. Этот случай нельзя отнести к серьезным недостаткам реализации т.к. new-delete не оптимизированы для малых объектов и это нужно помнить.
2) вина реализации
deque. около 10000000 (или около того) push-back'ов затем полное удаление. в VC2003 проходит без проблем в VC2005 не дождался окончания (не помню точно на удалении или вставке). вектор летает.
---
Вывод:
1) сама по себе stl не может быть тормозной т.к. это только спецификация интерфейса библиотеки и некоторых особенностей ее работы
2) иногда проблемы с реализацией stl иногда с использованием. Лучше всего использовать одну реализацию (например stlport) поведение которой изучено чтобы не получать непронятное поведение при смене версии компилятора
3) действительно иногда самописный вариант работает быстрее, но сначала нужно изучить все, что предоставляет stl и особенности использования, и если стало очевидно, что выше скорости не добится, стоит подумать о велосипеде
Re: STL (мнение преподавателя)
От: itman itman.livejournal.com
Дата: 13.03.06 13:14
Оценка:
В старой версии g++ кажется 2.95 в алгоритме sort была ошибка, которая проявлялась как раз на больших данных. Пришлось sort заменить на stable_sort.

Здравствуйте, NoFate, Вы писали:

NF>Сегодня узнал о том, что один преподаватель МГТУ им. Баумана имеет к STL достаточно негативное отношение. Мотивирует тем, что иногда программы с использованием STL ведут себя странно на больших объемах данных. Он приводил пример из жизни: студент выполнил курсовую, связанную с работой с БД на "живом" языке (или как оно называется) и при подключении больших словарей время работы стало экспоненциальным, хотя должно было быть линейным, что и наблюдалось на малых словарях. Так вот, потом для интереса переписали без STL, но с теми же алгоритмами — всё заработало.


NF>Я, в общем-то, не очень верю подобным рассказам пусть даже идут они от преподавателей, но всё таки интересно мнение. Возможно ли подобное? И как оно возможно?
Re[2]: STL (мнение преподавателя)
От: itman itman.livejournal.com
Дата: 13.03.06 13:20
Оценка:
Здравствуйте, WiseAlex, Вы писали:

1) Все зависит от платформы, например, в последних библиотеках Линуксячьих граммотный маллок с кешем малых объектов. STLport тоже имеет аналогичный кеш
2) Еще раз соглашусь. См. мой пост выше. Баги в реализациях STL бывают.

WA>Здравствуйте, NoFate, Вы писали:


NF>>Я, в общем-то, не очень верю подобным рассказам пусть даже идут они от преподавателей, но всё таки интересно мнение. Возможно ли подобное? И как оно возможно?


WA>бывает. из опыта: чаще всего это происходит с операциями new-delete.

WA>то с чем сталкивался на MS visualC++:
WA>1) вина программиста
WA>map — большое число маленьких объектов. заполнение быстое, удаление всех (т.е. clear()) при 10000 объектах — задумывалась на несколько секунд. помог boost с его аллокаторами. Этот случай нельзя отнести к серьезным недостаткам реализации т.к. new-delete не оптимизированы для малых объектов и это нужно помнить.
WA>2) вина реализации
Re[2]: STL (мнение преподавателя)
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 15.03.06 17:16
Оценка:
Здравствуйте, andrij, Вы писали:

A>пример 2

A>int_v.reserve(10000);
A>for(int = i; i < 10000; ++i)
A> int_v.push_back(i);

A>такшто использовиние библиотеки не освобождает от

A>использовоная головы

Так это и есть "странное" поведение. Лектор прав.
----------------------------------------------------------------------------------------------
Rentaguru
Re[2]: STL (мнение преподавателя)
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 15.03.06 17:16
Оценка:
Здравствуйте, bkat, Вы писали:

B>Абсолютно так же можно утверждать,

B>что программы на С++ на больших объемах ведут себя странно и тормозят.
B>А что?
B>Программа была написана на С++? Да!
B>Тормозила? Еще как!
B>Вывод — С++ тормозной язык.

Перепиши программу на Perl.
----------------------------------------------------------------------------------------------
Rentaguru
Re: STL (мнение преподавателя)
От: korzhik Россия  
Дата: 10.04.06 21:57
Оценка:
Здравствуйте, NoFate, Вы писали:

NF>Сегодня узнал о том, что один преподаватель МГТУ им. Баумана имеет к STL достаточно негативное отношение.


вот ещё один случай: http://www.rsdn.ru/Forum/?mid=1189102
Автор: McSeem2
Дата: 25.05.05
Re[3]: STL (мнение преподавателя)
От: TarasKo Голландия  
Дата: 12.04.06 12:21
Оценка:
Здравствуйте, NoFate, Вы писали:

NF>Здравствуйте, av, Вы писали:


av>>Можно узнать, о каком именно преподавателе идет речь?

NF>М-м-м =) Марков. ИУ-9

av>>Я бы посоветовал не очень верить преподавателям нашего славного университета... за 6 курсов я видел только двух преподавателей (имеются в виду спецдисциплины), которые более-менее разбирались в преподаваемом предмете.

NF>Да, для нашего славного ВУЗа это характерно...

Характерно не только для вашего ВУЗа. У нас не лучше, за все предметы не ручаюсь, говорю именно о тех, что касаются программирования. Преподаватели на нашей кафедре повергают меня в тоску и уныние. Бесполезно, что-то спрашивать и боже упаси сказать, что я программист, могут потом все нервы вытрясти. Докапываться до ерунды.

Я думаю преподаватель с негативным отношением к STL, просто её плохо знает и никогда не участвовал в разработке больших проектов.
Re: STL (мнение преподавателя)
От: GreyJedi  
Дата: 06.05.06 10:35
Оценка:
Здравствуйте, NoFate, Вы писали:

NF>Сегодня узнал о том, что один преподаватель МГТУ им. Баумана имеет к STL достаточно негативное отношение. Мотивирует тем, что иногда программы с использованием STL ведут себя странно на больших объемах данных. Он приводил пример из жизни: студент выполнил курсовую, связанную с работой с БД на "живом" языке (или как оно называется) и при подключении больших словарей время работы стало экспоненциальным, хотя должно было быть линейным, что и наблюдалось на малых словарях. Так вот, потом для интереса переписали без STL, но с теми же алгоритмами — всё заработало.


NF>Я, в общем-то, не очень верю подобным рассказам пусть даже идут они от преподавателей, но всё таки интересно мнение. Возможно ли подобное? И как оно возможно?


Может просто он скомпилировал в Debug?
У меня такое было — STL vector в VisualC++ 6.0 в Debug Mode был медленнее самого себя в
Release Mode в ДЕСЯТКИ раз. Из-за того что очень много вызовов функций,
которые в Release разворачиваются в inline.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.