_>но почемуто ни кто не удосужился написать ни строчки в ответ
Молодец.
Но:
1. Наверно актуальней написать об этом в boost.devel.
2. Я думаю также что это не вызвало интереса потому что мало кто использует поделки вроде boost::split
K>Но: K>1. Наверно актуальней написать об этом в boost.devel.
Не я туда писать не умею K>2. Я думаю также что это не вызвало интереса потому что мало кто использует поделки вроде boost::split
А чего такой флейм развели по этому поводу?
А чем пользуются много кто?
Здравствуйте, gid_vvp, Вы писали:
K>>Но: K>>1. Наверно актуальней написать об этом в boost.devel. _> Не я туда писать не умею
ну тогда забей
K>>2. Я думаю также что это не вызвало интереса потому что мало кто использует поделки вроде boost::split _> А чего такой флейм развели по этому поводу?
Как же ты не понимаешь это же повод лишний раз пнуть C++
_> А чем пользуются много кто?
_>> А чего такой флейм развели по этому поводу? K>Как же ты не понимаешь это же повод лишний раз пнуть C++
Ага, ясно а меня игнорят потому что я показал что это всего лишь ошибка разработчика библиотеки и С++ тут вовсе не причём.
А если элементарно исправить мелкую ошибку то производительность становится лучше всех... Ясно
_>> А чем пользуются много кто? K>своими проверенными поделками
Почему то всегда считал что "велосипеды" это не то чтобы совсем плохо... но и не совсем хорошо
_>>> А чем пользуются много кто? K>>своими проверенными поделками
_>Почему то всегда считал что "велосипеды" это не то чтобы совсем плохо... но и не совсем хорошо
А почему ты считаешь что boost::split не велосипед? Не надо делать из boost идола
_>>Почему то всегда считал что "велосипеды" это не то чтобы совсем плохо... но и не совсем хорошо
K>А почему ты считаешь что boost::split не велосипед? Не надо делать из boost идола
Согласен, но некоторые вещи из boost попали в tr1, они уже не велосипед? вот только незнаю boost::algorithm попали или нет...
Здравствуйте, gid_vvp, Вы писали:
_>>>Почему то всегда считал что "велосипеды" это не то чтобы совсем плохо... но и не совсем хорошо
K>>А почему ты считаешь что boost::split не велосипед? Не надо делать из boost идола
_>Согласен, но некоторые вещи из boost попали в tr1, они уже не велосипед?
Ну еси попали то они будут частью стандарта.
Но здесь есть такая тонкость:
этот tr1 будут реализовывать люди, а где люди там ошибки
так что поживём увидим
>вот только незнаю boost::algorithm попали или нет...
_>>Согласен, но некоторые вещи из boost попали в tr1, они уже не велосипед?
K>Ну еси попали то они будут частью стандарта. K>Но здесь есть такая тонкость: K>этот tr1 будут реализовывать люди, а где люди там ошибки K>так что поживём увидим
Само собой, но если это стандарт, то им будут пользоваться больше людей чем каждым отдельным велосипедом и соответственно ошибки будут найдены.
>>вот только незнаю boost::algorithm попали или нет...
K>не вошёл
Здравствуйте, gid_vvp, Вы писали:
_>>>Согласен, но некоторые вещи из boost попали в tr1, они уже не велосипед?
K>>Ну еси попали то они будут частью стандарта. K>>Но здесь есть такая тонкость: K>>этот tr1 будут реализовывать люди, а где люди там ошибки K>>так что поживём увидим
_>Само собой, но если это стандарт, то им будут пользоваться больше людей чем каждым отдельным велосипедом и соответственно ошибки будут найдены.
найдены будут, согласен
но вот тебе простейший пример:
В STL, которая поставлялась с VC6 у класса std::auto_ptr отсутствовала очень полезная функция reset.
Её реализация занмимает 3 строчки, что мешало добавить эту функцию в какой нибудь Service Pack никто не знает. В VC2003 она появилась. (VC6 — выпустили в 98)
K>найдены будут, согласен
K>но вот тебе простейший пример: K>В STL, которая поставлялась с VC6 у класса std::auto_ptr отсутствовала очень полезная функция reset. K>Её реализация занмимает 3 строчки, что мешало добавить эту функцию в какой нибудь Service Pack никто не знает. В VC2003 она появилась. (VC6 — выпустили в 98)
, и о том, что аллокатор может сильно влиять на производительность. Кроме того, твои тесты только подтвердили, что как только на C++ появляется хорошая реализация самого split-а (без явных ляпов), то со скоростью C++ тяжело соревноваться. Многие это и так понимают, многие предпочитают на этом не заострять внимание, поскольку тогда в C++ проще камнями кидаться.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
, и о том, что аллокатор может сильно влиять на производительность. Кроме того, твои тесты только подтвердили, что как только на C++ появляется хорошая реализация самого split-а (без явных ляпов), то со скоростью C++ тяжело соревноваться. Многие это и так понимают, многие предпочитают на этом не заострять внимание, поскольку тогда в C++ проще камнями кидаться.
да всё так, кроме того что ляп с boost::function увидел я и исправить его не составило труда...
а раз так то исходный boost::split можно считать вполне хорошим, с небольшим ляпом
Здравствуйте, gid_vvp, Вы писали:
E>> Многие это и так понимают, многие предпочитают на этом не заострять внимание, поскольку тогда в C++ проще камнями кидаться.
_>Может просто приятно камнями кидаться?
Но и мы отвечаем им взаимностью: то динамическую типизацию похвалим, то над их новой игрушкой на букву N поприкалываемся, то производительность C++ покажем как поднять. Такое вот мирное течение жизни в RSDN.Phylosophy
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, gid_vvp, Вы писали:
E>>Абыдно, да?
_>точно
E>>Имхо, ты просто собрал в одном месте все, о чем говорилось ранее. Например, о тормозах is_any_of
, и о том, что аллокатор может сильно влиять на производительность. Кроме того, твои тесты только подтвердили, что как только на C++ появляется хорошая реализация самого split-а (без явных ляпов), то со скоростью C++ тяжело соревноваться. Многие это и так понимают, многие предпочитают на этом не заострять внимание, поскольку тогда в C++ проще камнями кидаться.
_>да всё так, кроме того что ляп с boost::function увидел я и исправить его не составило труда...
Тык я оценил
_>а раз так то исходный boost::split можно считать вполне хорошим, с небольшим ляпом
Нет, хорошим считать нельзя, был бы хороший топика бы не было
Надо бы бустовцам баг запостить, вроде тут есть люди которые с ними общаются.
Спасибо, я заметил
_>>а раз так то исходный boost::split можно считать вполне хорошим, с небольшим ляпом
FR>Нет, хорошим считать нельзя, был бы хороший топика бы не было
ну я ж говорю с небольшим допущением ибо легко поправляется
FR>Надо бы бустовцам баг запостить, вроде тут есть люди которые с ними общаются.
Да было бы неплохо чтоб кто-нибудь взял на себя труд сказать им
Ты написал про проблему (что есть boost::function и его надо заменить на сам предикат), но не написал как ее исправить (исходный код).
Я попробовал ковырять boost, но там куча этих параметров шаблонов и их надо везде править. Я не поленился это сделать, но в конце-концов там повылезали какие-то жуткие сообщения об ошибках которые я не понял.
Если дашь хакнутый код boost, я его включу в новую версию теста.
_>Re[2]: BOOST, .NET, String.Split и производительность…
Это мухлеж. Если строка не константная, то в результате получишь мусор.
Понятно, что если возвращать указатели на подстроки это значительно быстрее.
У меня и tokenizer McSeem2 на MS за 0.43 сек работает
Но и аналогичный Владовский токенайзер на Nemerle
Здравствуйте, gid_vvp, Вы писали:
E>> Многие это и так понимают, многие предпочитают на этом не заострять внимание, поскольку тогда в C++ проще камнями кидаться. _>Может просто приятно камнями кидаться?
Нет.
Есть такое понятие "народная мудрость" -- т.е. какое-то мнение или утверждение, которое доказало свою состоятельность временем и поколениями. В IT больше известно его извращенное представление "миллионы мух не могут ошибаться".
Уж очень мне понравилась в свое время фраза Евгения... Можно сказать, в душу запала... Перкладывал эту фразу и на личную жизнь и на работу — как ни крути — мышки плакали, кололись, но продолжали жрать кактус...