Здравствуйте, Сергей, Вы писали:
С>В C++ для этого есть auto_ptr <>. С>Зачем нужен gc, если есть смарт-пойнтеры?
А они уже научились разруливать циклические ссылки?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
давича решил посмотреть поближе на Paint.NET.
Открылся шустренько, в Таск Менеджер глядел, но не будем об этом
Открыл одну из своих фоток (3,64 Мб). Открывалась хоть и с прогрессом — но быстро.
Потом решил воспользоваться эффектами и добавить Gaussian Blur. Увидел всю мощь программы — этот эффект добавлялся построчно.
WolfHound wrote: > C>В разы, в разы. Имел возможность сравнивать. > Что за задача?
Одно приложение для обработки и представления данных в двух версиях — на
C# и С++.
> C>Во-первых, GC для эффективной работы требует определенный overhead по > объему памяти (процентов 20%-50%). > Во во проценты, а не разы.
Ну так проценты имеют свойство накапливаться.
> C>Во-вторых, объекты имеют заголовок, который занимает размер. > +8 байт на объект. Не много.
В С++ от 0 до 4.
> C>В-третьих, ориентированость на кучу — value-типы используются редко. > И правильно. Если оптимизировать не надо то с reference типами проще, а > если надо то можно и value типы использовать. Мне они понадобились лишь > один раз.(в смысле написать свой value тип, а не использовать всякие там > int'ы)
Ну вот в этом и проблема — в результате общего неэффективного расхода
памяти проценты и набегают.
Вас послушать — так там совсем всё хорошо. Программировать под .net мне пока не доводилось, так что могу судить об этом только из разного рода литературы, мнений на форумах и опыта работы с такими приложениями.
Видел я их всего пока 3 (три) штуки: это RSDN@Home, интерфейс к драйверам под ATI-видюхи и конфигурилка для GeoShell'a. Больше всего впечатлений у меня осталось от последнего пункта. Замечено, что:
1) запускается примерно как OpenOffice, 5 секунд.
2) памяти лопает примерно как Opera (14(!)Мб)
3) перерисовка интерфейса тормозит примерно как Winamp5 с modern-скином.
4) частенько падает...
Аналогичная программа Win32 хавала бы примерно 400 кб памяти и запускалась бы мгновенно.
Напомню, что одно из преимущетв технологии .net — упрощение разработки программ и повышение ее надежности. Где же это упрощение разработки и повышение надежности, если программа а) тормозит и жрет память как слон б) падает ? Вывод: чтобы писать качественные программы с использованием .net, нужно это дело плотно изучать. Человек с низкой квалификацией вряд ли сделает качественную и надежную программу даже на .net'e. Похоже на Delphi — начать программировать проще, чем на С++, но для того, чтобы разработать качественную программу, знать нужно не меньше. По моему, только станет больше дилетантских программ (а-ля кривые поделки на Delphi).
RSDN@Home падал меньше, лучше всего работала АТИ-шная приблуда.
Мне, как пользователю, все равно, на чем написана программа, лишь бы работала хорошо. Таких .НЕТ-программ я пока не видел, хотя с момента начала раскрутки дотнета прошел не один год.
WolfHound wrote: > С>В C++ для этого есть auto_ptr <>. > С>Зачем нужен gc, если есть смарт-пойнтеры? > А они уже научились разруливать циклические ссылки?
Да, причем очень просто. Просто достаточно не делать циклические ссылки
Здравствуйте, Cyberax, Вы писали:
C>Одно приложение для обработки и представления данных в двух версиях — на C# и С++.
Информации 0.
Кстати а свободной памяти на машине сколько было?
Просто если памяти было много то ГЦ ее всю и утилизировал чтобы лишний раз мусор не собирать.
C>Ну так проценты имеют свойство накапливаться.
Куда накапливатся?
C>В С++ от 0 до 4.
Для value типов тоже 0.
C>Ну вот в этом и проблема — в результате общего неэффективного расхода памяти проценты и набегают.
Куда набегают?
Короче кудабы они не бежали в разы всеравно не получается. За исключением того случая когда на машине много свободной памяти...
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Вертер, Вы писали:
В>давича решил посмотреть поближе на Paint.NET. В>Открылся шустренько, в Таск Менеджер глядел, но не будем об этом
А памяти на машине было гиг или может два?... Кстати фотошоп у меня сожрал больше памяти...
В>Открыл одну из своих фоток (3,64 Мб). Открывалась хоть и с прогрессом — но быстро. В>Потом решил воспользоваться эффектами и добавить Gaussian Blur. Увидел всю мощь программы — этот эффект добавлялся построчно.
В>XnView всё это делает «немного» быстрее
А причем тут .NET?
Тут некоторое время назад великий и ужасный McSeem2 пытался наезжать на .NET что он тормозной но даже у него не получилось сделать код
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Вертер, Вы писали:
В>>давича решил посмотреть поближе на Paint.NET. В>>Открылся шустренько, в Таск Менеджер глядел, но не будем об этом WH>А памяти на машине было гиг или может два?... Кстати фотошоп у меня сожрал больше памяти...
да фиг с этой памятью, если поверить, что GC отдаст память сразу, как системе понадобиться.
В>>Открыл одну из своих фоток (3,64 Мб). Открывалась хоть и с прогрессом — но быстро. В>>Потом решил воспользоваться эффектами и добавить Gaussian Blur. Увидел всю мощь программы — этот эффект добавлялся построчно.
В>>XnView всё это делает «немного» быстрее WH>А причем тут .NET?
так эффекты то Paint.NET сам рисовал, сдаётся мне, использую алгоритм, реализованный на дотНЕТ. То есть получается, что выполнение сложного алгоритма на дотНЕТ не выгодно (в конкретном примере)...
WH>Тут некоторое время назад великий и ужасный McSeem2 пытался наезжать на .NET что он тормозной но даже у него не получилось сделать код
Здравствуйте, Cyberax, Вы писали:
C>Да, причем очень просто. Просто достаточно не делать циклические ссылки
Иногда для этого приходится думать очень очень много и городить такие огороды что уж лучше был бы ГЦ. Уж точно проще и надежней и наверняка оверхед меньше.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Сергей, Вы писали:
С>Вас послушать — так там совсем всё хорошо. Программировать под .net мне пока не доводилось, так что могу судить об этом только из разного рода литературы, мнений на форумах и опыта работы с такими приложениями.
Вот когда доведется... причем что ни будь серьезное и лучше в комманде с опытными .NET'чиками...
С>Видел я их всего пока 3 (три) штуки: это RSDN@Home,
Все томоза RSDN@Home растут из базы данных написанной на C++... Вывод?... С>интерфейс к драйверам под ATI-видюхи и конфигурилка для GeoShell'a. Больше всего впечатлений у меня осталось от последнего пункта. Замечено, что: С>1) запускается примерно как OpenOffice, 5 секунд.
Например Paint.NET запускается примерно с тойже скоростью что Paint. Ну может четь медленней. С>2) памяти лопает примерно как Opera (14(!)Мб)
Особенности работы ГЦ. В форуме .NET на эту тему есть пара флеймов Память и .Net
Короче не так страшен черт как его пытается малевать Pavel Dvorkin
С>3) перерисовка интерфейса тормозит примерно как Winamp5 с modern-скином.
Не знаю что они там наворотили у меня на скорость ГУИ приложений .NET нареканий нет. С>4) частенько падает...
Радиус кривизну рук "программистов" ATI помойму уже давно лешенда. С>Аналогичная программа Win32 хавала бы примерно 400 кб памяти и запускалась бы мгновенно.
Они бы ее вобще недописали. С>Напомню, что одно из преимущетв технологии .net — упрощение разработки программ и повышение ее надежности.
Именно. С>Где же это упрощение разработки и повышение надежности, если программа С>а) тормозит и жрет память как слон
Это как написать... Могут быть варианты когда программа на .NET работает быстрее чем программа на С++. См например System.Reflection.Emit и то как он использован в BLToolkit
Как сделать что-то подобное на С++ я даже представить боюсь объем и сложность работы. С>б) падает ?
Руки... С>Вывод: чтобы писать качественные программы с использованием .net, нужно это дело плотно изучать. Человек с низкой квалификацией вряд ли сделает качественную и надежную программу даже на .net'e. Похоже на Delphi — начать программировать проще, чем на С++, но для того, чтобы разработать качественную программу, знать нужно не меньше. По моему, только станет больше дилетантских программ (а-ля кривые поделки на Delphi).
А кто спорит? С>RSDN@Home падал меньше, лучше всего работала АТИ-шная приблуда.
Кстати RSDN@Home лучшее доказательство того что .NET таки рулит ибо
1)До сих пор нет аналога на С++
2)Его писали люди очень разной квалификации... С>Мне, как пользователю, все равно, на чем написана программа, лишь бы работала хорошо. Таких .НЕТ-программ я пока не видел, хотя с момента начала раскрутки дотнета прошел не один год.
Ну так на нем пишут в основном корпаративный софт и серверы.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Вертер, Вы писали:
В>так эффекты то Paint.NET сам рисовал, сдаётся мне, использую алгоритм, реализованный на дотНЕТ. То есть получается, что выполнение сложного алгоритма на дотНЕТ не выгодно (в конкретном примере)...
В данном конкретном случае авторам нужно выправить руки.
В>так кто бы спорил, просто утверждается, что на дотНЕТ так всё просто, что ни о чём и думать то не надо — только полёт свободной мысли
Кто утверждает? Говорят о том что там проще чем на С++.
В>Как пример: В>
WH>В данном конкретном случае авторам нужно выправить руки.
заметь, они писали прогу под патронажем МС
В>>так кто бы спорил, просто утверждается, что на дотНЕТ так всё просто, что ни о чём и думать то не надо — только полёт свободной мысли WH>Кто утверждает? Говорят о том что там проще чем на С++.
когда пишешь на С++ — априори надо сначала думать, а потом писать.
В>>Как пример: В>>
Здравствуйте, Вертер, Вы писали:
В>так кто бы спорил, просто утверждается, что на дотНЕТ так всё просто, что ни о чём и думать то не надо — только полёт свободной мысли В>Как пример: В>
Здравствуйте, WolfHound, Вы писали:
WH>Вот когда доведется... причем что ни будь серьезное и лучше в комманде с опытными .NET'чиками...
Посмотрим, может и придется. WH>Все томоза RSDN@Home растут из базы данных написанной на C++... Вывод?...
Что-ж не на .NET'e, если там все так хорошо?
С>>1) запускается примерно как OpenOffice, 5 секунд. С>>2) памяти лопает примерно как Opera (14(!)Мб) С>>3) перерисовка интерфейса тормозит примерно как Winamp5 с modern-скином. С>>4) частенько падает...
Эти 4 пункта — про конфигурилку к GeoShell'у.
WH>Радиус кривизну рук "программистов" ATI помойму уже давно легенда.
Да вот из попадавших ко мне экземпляров их поделие работало лучше всего.
С>>Аналогичная программа Win32 хавала бы примерно 400 кб памяти и запускалась бы мгновенно. WH>Они бы ее вобще недописали.
Если это вы про конфигурилку, то показываю скриншот (8кб):
Еще столько же контролов на второй вкладке. Это, собственно, и все. Да: не дописана сия утилита еще пока у них Кстати, у того же GeoShella есть утилитка для смены скина и тому подобных параметров внешнего вида. Превьюшки всякие показывает, на ходу применяет все изменения в ГеоШелле. Не глючит, не падает, все дописано, памяти хавает 1.3 метра и не дотнет.
WH>Это как написать... Могут быть варианты когда программа на .NET работает быстрее чем программа на С++. См например System.Reflection.Emit и то как он использован в BLToolkit WH>Как сделать что-то подобное на С++ я даже представить боюсь объем и сложность работы.
Боюсь, не могу оценить масштаб затеи.
WH>Ну так на нем пишут в основном корпоративный софт и серверы.
А я вот к чему клоню: чтобы правильно применять дотнет использовать его преимущества нужно хорошо его изучить и иметь хорошую квалификацию. Ничего революционного, просто еще одна платформа для разработки приложений, чем-то хуже и чем-то лучше других. Имхо, заявления (которых я видел немало на просторах инета), что скоро будет только дотнет и посему будет всем щастье, весьма опрометчивы.
Здравствуйте, Сергей, Вы писали:
WH>>Все томоза RSDN@Home растут из базы данных написанной на C++... Вывод?... С>Что-ж не на .NET'e, если там все так хорошо?
Те ручками написать СУБД? Для читалки форумов которую пишут в свободное от работы, семьи и интересной книжки время? А не слишком круто?
С>А я вот к чему клоню: чтобы правильно применять дотнет использовать его преимущества нужно хорошо его изучить и иметь хорошую квалификацию. С>Ничего революционного, просто еще одна платформа для разработки приложений, чем-то хуже и чем-то лучше других.
А кто с этим спорит?
С>Имхо, заявления (которых я видел немало на просторах инета), что скоро будет только дотнет и посему будет всем щастье, весьма опрометчивы.
Ну тоже самое говорили про Жабу...
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали: WH>Все томоза RSDN@Home растут из базы данных написанной на C++... Вывод?... С>>интерфейс к драйверам под ATI-видюхи и конфигурилка для GeoShell'a. Больше всего впечатлений у меня осталось от последнего пункта. Замечено, что: С>>1) запускается примерно как OpenOffice, 5 секунд. WH>Например Paint.NET запускается примерно с тойже скоростью что Paint. Ну может четь медленней.
И примерно в 10 раз быстрее, чем Photoshop с аналогичным набором фильтров. С>>4) частенько падает... WH>Радиус кривизну рук "программистов" ATI помойму уже давно лешенда.
Это, кстати, вообще проблема. Железячные компании постоянно отдают на рынок такой софт, что хоть стой хоть падай. С>>Аналогичная программа Win32 хавала бы примерно 400 кб памяти и запускалась бы мгновенно. WH>Они бы ее вобще недописали.
Совершенно верно. "Аналогичная" программа на win32 просто бы не запустилась.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Sheridan, Вы писали:
S>>1. Сразу оверхед — анализ метаданных, запуск при небходимости JIT'а. WH>Это даже не милли это микросекунды. Причем только один раз. Так что это не оверхед.
ок
S>>2. Зачемто какието переходники и согласования вместо прямого выполнения кода. WH>Переходники нужны для работы с неуправляемым кодом. Внутри управляемого кода никаких переходников нет. Все компилируется в банальные call'ы. S>>3. И тут согласования... WH>Ну а как ты хотел... этоже возьня с неупиравляемым кодом...
ok
S>>В общем имеет место быть постоянный контроль кода и ресурсов. Господа но на это же дело ресурсы тоже тратятся? S>>Или я опять неправ, и весь контроль выполняется "бесплатно"? WH>Практически бесплатно.
гм...
S>> Но конечным пользователям то не легче. Юзерам приходится покупать железо и софт. WH>Как правило купить железо дешевле чем отлавливать тараканы в С++ном коде.
Позволь, но тут я не соглашусь. Это программистам дешевле, а не пользователям.
[RSDN@Home][1.2.0][alpha][648]
[Hарод, который поет и пляшет, зла не думает. [Екатерина II]]
Здравствуйте, Sheridan, Вы писали:
WH>>Как правило купить железо дешевле чем отлавливать тараканы в С++ном коде. S>Позволь, но тут я не соглашусь. Это программистам дешевле, а не пользователям.
Здравствуйте, WolfHound, Вы писали:
С>>Видел я их всего пока 3 (три) штуки: это RSDN@Home, WH>Все томоза RSDN@Home растут из базы данных написанной на C++... Вывод?...
Надо менять движок. Что то двинулись в сторону firebird да так и не освоили...
С>>1) запускается примерно как OpenOffice, 5 секунд. WH>Например Paint.NET запускается примерно с тойже скоростью что Paint. Ну может четь медленней.
Угу, там четь, тут четь, здесь четь...
С>>Напомню, что одно из преимущетв технологии .net — упрощение разработки программ и повышение ее надежности. WH>Именно.
Это одно единственное преимущество дотнета. Но огромное!
С>>Где же это упрощение разработки и повышение надежности, если программа С>>а) тормозит и жрет память как слон WH>Это как написать... Могут быть варианты когда программа на .NET работает быстрее чем программа на С++. См например System.Reflection.Emit и то как он использован в BLToolkit
Вот именно что могут быть. Зависит от специфики задачи.
С>>б) падает ? WH>Руки...
...ноги, голова, но только не дотнет...
С>>Вывод: чтобы писать качественные программы с использованием .net, нужно это дело плотно изучать. Человек с низкой квалификацией вряд ли сделает качественную и надежную программу даже на .net'e. Похоже на Delphi — начать программировать проще, чем на С++, но для того, чтобы разработать качественную программу, знать нужно не меньше. По моему, только станет больше дилетантских программ (а-ля кривые поделки на Delphi). WH>А кто спорит?
Странно, обычно дотнетчики обижаются. Респект за понимание.
С>>RSDN@Home падал меньше, лучше всего работала АТИ-шная приблуда. WH>Кстати RSDN@Home лучшее доказательство того что .NET таки рулит ибо WH>1)До сих пор нет аналога на С++
Проект стартовал и неспеша крутится.
WH>2)Его писали люди очень разной квалификации...
Под чутким руководством ведущих специалистов.
С>>Мне, как пользователю, все равно, на чем написана программа, лишь бы работала хорошо. Таких .НЕТ-программ я пока не видел, хотя с момента начала раскрутки дотнета прошел не один год. WH>Ну так на нем пишут в основном корпаративный софт и серверы.
Бедные компании... Наверно с каждым релизом дотнета парк серверов обновляют...
[RSDN@Home][1.2.0][alpha][648]
[Люди не в состоянии изменить свою природу. [Д. Юм]]
WH>>Например Paint.NET запускается примерно с тойже скоростью что Paint. Ну может четь медленней. S>И примерно в 10 раз быстрее, чем Photoshop с аналогичным набором фильтров.