Re[9]: С# vs C++, голые цифры
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 05.06.09 15:05
Оценка: +1
Здравствуйте, dr.Chaos, Вы писали:

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


G>>Да проходили это сотню раз, можно использовать shared_ptr или аналоги, но они замедляют программу, и какой тогда смысл писать на С++?

DC>Ну почему же сразу счётчики ссылок? Можно организовать такую схему что мы ничего удалять руками не будем, т.е. в коде будем только выделять память или вообще всё будет крутиться в статических буферах.
Не надо выдумывать небылицы. Хоть один серьезный продукт так написан?

DC>Если мы перекладываем управление на железку вполне логично что это требует ресурсов, оверхед от счётчиков небольшой, время освобождения ресурса детерминировано.

Счетчики ссылок требуют синхронизации, что сказывается на производительности в многопоточных системах. Кроме того они слабо умеют разаруливать циклические ссылки.

G>>Может, но не оказывается. Ты вряд ли придумаешь сценарий работы с памятью, где GC будет сливать ручному управлению в быстродействию.

DC>Да я и искать то не буду, GC дотнетовский хорош, но он заточен на вполне определённый круг сценариев работы (ну нельзя впихнуть невпихуемое), как только мы натыкаемся на такой сценарий, начинается борьба с GC, её можно облегчить сделав GC расширяемым, но про такое я ещё не слышал.
В том то и дело что GC, по крайней мере в .NET, рассчитан на огромное число сценариев работы. Главное ему не мешать, и уж тем более не пытться помогать.

DC>А в плюсах всё просто — не нравится автобус, взял написал горный велосипед и поехал по горным тропам .

На словах просто, а на деле большое количество велосипедов делаю очень тяжелой поддержку. При этом далеко не факт что кучи велосипедов будут работать быстрее GC.
Re[13]: С# vs C++, голые цифры
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 05.06.09 15:08
Оценка:
Здравствуйте, dr.Chaos, Вы писали:

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


G>>Еще раз: хаки не нтересуют, интересует общий способ, как в моем примере на шарпе.

DC>Да, тебя, кажется, вообще C++ не интересует, как и то что его помощью сделать можно.
Ну если бы не интересовал, то я бы сюда не писал.
А если че — я в течение 5 лет писал на С++.
Re[10]: С# vs C++, голые цифры
От: jazzer Россия Skype: enerjazzer
Дата: 12.06.09 18:45
Оценка: +3
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, dr.Chaos, Вы писали:


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


G>>>Да проходили это сотню раз, можно использовать shared_ptr или аналоги, но они замедляют программу, и какой тогда смысл писать на С++?

DC>>Ну почему же сразу счётчики ссылок? Можно организовать такую схему что мы ничего удалять руками не будем, т.е. в коде будем только выделять память или вообще всё будет крутиться в статических буферах.
G>Не надо выдумывать небылицы. Хоть один серьезный продукт так написан?

дофига.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[11]: С# vs C++, голые цифры
От: criosray  
Дата: 12.06.09 23:04
Оценка:
Здравствуйте, jazzer, Вы писали:


G>>>>Да проходили это сотню раз, можно использовать shared_ptr или аналоги, но они замедляют программу, и какой тогда смысл писать на С++?

DC>>>Ну почему же сразу счётчики ссылок? Можно организовать такую схему что мы ничего удалять руками не будем, т.е. в коде будем только выделять память или вообще всё будет крутиться в статических буферах.
G>>Не надо выдумывать небылицы. Хоть один серьезный продукт так написан?

J>дофига.


Перефразирю: серьезный не заваленный по срокам и не глючный продукт.
Re[12]: С# vs C++, голые цифры
От: VoidEx  
Дата: 12.06.09 23:09
Оценка: -1
Здравствуйте, criosray, Вы писали:

J>>дофига.


C>Перефразирю: серьезный не заваленный по срокам и не глючный продукт.


Ответ тебе тоже перефразировать или он и так понятен?
Re[12]: С# vs C++, голые цифры
От: jazzer Россия Skype: enerjazzer
Дата: 13.06.09 03:11
Оценка: +3 -1 :)
Здравствуйте, criosray, Вы писали:

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



G>>>>>Да проходили это сотню раз, можно использовать shared_ptr или аналоги, но они замедляют программу, и какой тогда смысл писать на С++?

DC>>>>Ну почему же сразу счётчики ссылок? Можно организовать такую схему что мы ничего удалять руками не будем, т.е. в коде будем только выделять память или вообще всё будет крутиться в статических буферах.
G>>>Не надо выдумывать небылицы. Хоть один серьезный продукт так написан?

J>>дофига.


C>Перефразирю: серьезный не заваленный по срокам и не глючный продукт.


дофига.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[10]: С# vs C++, голые цифры
От: FR  
Дата: 13.06.09 03:50
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>Да проходили это сотню раз, можно использовать shared_ptr или аналоги, но они замедляют программу, и какой тогда смысл писать на С++?

DC>>Ну почему же сразу счётчики ссылок? Можно организовать такую схему что мы ничего удалять руками не будем, т.е. в коде будем только выделять память или вообще всё будет крутиться в статических буферах.
G>Не надо выдумывать небылицы. Хоть один серьезный продукт так написан?

Нормальная практика у игроделов, используется несколько пулов памяти (глобальный, на уровень, временный) динамическое выделение вне пулов не происходит совсем, освобождение практически тоже при завершеннии программы. Подробнее тут http://www.dtf.ru/articles/print.php?id=4071
У эмдебщиков все еще жестче.
Re[13]: С# vs C++, голые цифры
От: criosray  
Дата: 13.06.09 07:09
Оценка:
Здравствуйте, VoidEx, Вы писали:

J>>>дофига.


C>>Перефразирю: серьезный не заваленный по срокам и не глючный продукт.


VE>Ответ тебе тоже перефразировать или он и так понятен?


Нет. Не понятен. Названия / ссылки в студию, как говорится.
Re[14]: С# vs C++, голые цифры
От: FR  
Дата: 13.06.09 07:20
Оценка:
Здравствуйте, criosray, Вы писали:

VE>>Ответ тебе тоже перефразировать или он и так понятен?


C>Нет. Не понятен. Названия / ссылки в студию, как говорится.


Ссылка практически на любую крупную игру которая идет на игровых консолях.
Re[15]: С# vs C++, голые цифры
От: criosray  
Дата: 13.06.09 07:24
Оценка:
Здравствуйте, FR, Вы писали:

VE>>>Ответ тебе тоже перефразировать или он и так понятен?


C>>Нет. Не понятен. Названия / ссылки в студию, как говорится.


FR>Ссылка практически на любую крупную игру которая идет на игровых консолях.


Кроме игр на консолях?
Re[16]: С# vs C++, голые цифры
От: FR  
Дата: 13.06.09 07:32
Оценка:
Здравствуйте, criosray, Вы писали:


FR>>Ссылка практически на любую крупную игру которая идет на игровых консолях.


C>Кроме игр на консолях?


Приложения для недокомпьютеров работающих под операционками подобными PowerTV,
без виртуальной памяти ссылок нет, например мы писали под подобное устройство
программы работы с графикой и портировали казуальные игры.
Re[17]: С# vs C++, голые цифры
От: criosray  
Дата: 13.06.09 07:48
Оценка:
Здравствуйте, FR, Вы писали:

FR>>>Ссылка практически на любую крупную игру которая идет на игровых консолях.


C>>Кроме игр на консолях?


FR>Приложения для недокомпьютеров работающих под операционками подобными PowerTV,

FR>без виртуальной памяти ссылок нет, например мы писали под подобное устройство
FR>программы работы с графикой и портировали казуальные игры.

Ок. Что на счет полноценных компьютеров — PC?
Re[11]: С# vs C++, голые цифры
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 13.06.09 09:56
Оценка: :)
Здравствуйте, FR, Вы писали:

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


G>>>>Да проходили это сотню раз, можно использовать shared_ptr или аналоги, но они замедляют программу, и какой тогда смысл писать на С++?

DC>>>Ну почему же сразу счётчики ссылок? Можно организовать такую схему что мы ничего удалять руками не будем, т.е. в коде будем только выделять память или вообще всё будет крутиться в статических буферах.
G>>Не надо выдумывать небылицы. Хоть один серьезный продукт так написан?

FR>Нормальная практика у игроделов, используется несколько пулов памяти (глобальный, на уровень, временный) динамическое выделение вне пулов не происходит совсем, освобождение практически тоже при завершеннии программы. Подробнее тут http://www.dtf.ru/articles/print.php?id=4071

глобальный, на уровень, временный... чем-то на GC с его тремя поколениями похоже.
Еще давно прочитал афоризм, что любая большая программа на С содержит не менее 30% реализации Lisp.


FR>У эмдебщиков все еще жестче.

Там где идут жесткие ограничения начинается совсем другая работа.
Сам разрабатывал для dsp-процессоров, большую часть времени убил на то как впихнуть восьмикилобайтный буфер в два килобайта.
Re[18]: С# vs C++, голые цифры
От: VoidEx  
Дата: 13.06.09 18:51
Оценка:
Здравствуйте, criosray, Вы писали:

C>Ок. Что на счет полноценных компьютеров — PC?


Можно сразу список всех условий?
Re[19]: С# vs C++, голые цифры
От: criosray  
Дата: 13.06.09 18:56
Оценка:
Здравствуйте, VoidEx, Вы писали:

C>>Ок. Что на счет полноценных компьютеров — PC?


VE>Можно сразу список всех условий?


Условие одно: нормальные условия, а не какая-то экзотика. А то давайте еще особенности программирования микроконтролеров обсудим.
Re[20]: С# vs C++, голые цифры
От: jazzer Россия Skype: enerjazzer
Дата: 16.06.09 03:57
Оценка: +1 -2
Здравствуйте, criosray, Вы писали:

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


C>>>Ок. Что на счет полноценных компьютеров — PC?


VE>>Можно сразу список всех условий?


C>Условие одно: нормальные условия, а не какая-то экзотика. А то давайте еще особенности программирования микроконтролеров обсудим.


А тебе этого недостаточно?
Вопрос, напоминаю, звучал так: "Не надо выдумывать небылицы. Хоть один серьезный продукт так написан?"
Ответ дан, с примерами: тысячи серьезных продуктов.
На каких они платформах — дело десятое.
Так что если опровержения по сути (а не "мне твой пример не нравится, придумай другой") не предвидится, то вопрос закрыт.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[20]: С# vs C++, голые цифры
От: Eugeny__ Украина  
Дата: 16.06.09 07:04
Оценка: +1
Здравствуйте, criosray, Вы писали:

C>>>Ок. Что на счет полноценных компьютеров — PC?


VE>>Можно сразу список всех условий?


C>Условие одно: нормальные условия, а не какая-то экзотика. А то давайте еще особенности программирования микроконтролеров обсудим.


Безотносительно к спору, то есть оффтоп(хотя, в этом форуме можно и не предупреждать).

Вот у меня дома сейчас ноут с линухом, обычный комп с виндой, телефон с симбианом, 3 разных портативных плеера с хз чем, DVD-проигрыватель, телик(пусть и не юзается, но есть), POS-терминал(тестовый, с работы). У обычного компа есть еще монитор с собственной независимой настройкой(т.е. там есть определенное ПО). А, еще где-то в закромах Sega валяется, иногда ностальгируем.

Все эти устройства содержат ПО. К "нормальным" по твоему критерию можно отнести комп с виндой, ну, может, еще ноут. Что в общем зачете не так уж и много.

А теперь вопрос, почему мы обязательно должны опускать программинг под все эти девайсы? В реальной жизни такое ПО используется очень активно.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[21]: С# vs C++, голые цифры
От: jazzer Россия Skype: enerjazzer
Дата: 16.06.09 09:39
Оценка: -1
2 gandjustas:
C чем не согласен-то?
Или мой ответ тоже просто не нравится, без аргументов?

Тебе сказали: "Есть техника А".
Ты сказал, что этой техникой всерьез не пользуется, и попросил привести примеры обратного.
Тебе их привели.
После этого, в принципе, действительно есть только два пути: либо согласиться, что тебе на вопрос ответили и ты был неправ, либо молча раздавать минусы.
Жаль, что ты выбрал второе.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[10]: С# vs C++, голые цифры
От: dr.Chaos Россия Украшения HandMade
Дата: 16.06.09 11:58
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Не надо выдумывать небылицы. Хоть один серьезный продукт так написан?

Ну ту мне добавить к ответам других особо нечего .

DC>>Если мы перекладываем управление на железку вполне логично что это требует ресурсов, оверхед от счётчиков небольшой, время освобождения ресурса детерминировано.

G>Счетчики ссылок требуют синхронизации, что сказывается на производительности в многопоточных системах. Кроме того они слабо умеют разаруливать циклические ссылки.
Ну многопоточный GC тоже требует накладных расходов на синхронизацию, кроме того если у меня будет затык именно в синхронизации счётчиков, то я вполне могу убрать его нафиг и управлять вручную. Да и, честно говоря, разделять объект между двумя нитями не самая хорошая идея, я бы даже при наличии GC так делать по-возможности не стал.

G>В том то и дело что GC, по крайней мере в .NET, рассчитан на огромное число сценариев работы. Главное ему не мешать, и уж тем более не пытться помогать.

Ну точно помню, что Cyberaxe говорил что он со свапом не дружит. Вот тут про картинки речь шла. Вобщем, я не настолько хорошо знаю его особенности чтоб предметно обсуждать его узкие места, но ручное управление памятью он не обойдёт, правда управлять памятью вручную дороже.

G>На словах просто, а на деле большое количество велосипедов делаю очень тяжелой поддержку. При этом далеко не факт что кучи велосипедов будут работать быстрее GC.

Велосипед может не претендовать на универсальность, и за счёт этого быть простым и быстрым или распадаться на несколько простых вариантов, которые могут быть довольно просты в поддержке. Только использование всего этого зоопарка, вероятнее, будет требовать большей аккуратности, чем просто дать всё на откуп GC, правда в умелых руках и GC может просесть.

Я, вообще, о чём говорил: отсутствие GC не самая большая проблема C++.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[11]: С# vs C++, голые цифры
От: kuj  
Дата: 16.06.09 19:59
Оценка:
Здравствуйте, dr.Chaos, Вы писали:

DC>Я, вообще, о чём говорил: отсутствие GC не самая большая проблема C++.


Эт точно. :>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.