Выбор между С++ и С#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.01.06 17:08
Оценка:
http://rsdn.ru/File/3693/Dijkstra.zip

Новые песни о старом. Надо решить 3 NP-полных задач на графах (не в лоб конечно, приближенным методом). Для этого будут писаться алгоритмический движок.
Вопрос, на чем писать ? Может соптимизировано плохо для C# ? На разных тачках получается от 3 до 7 раз раницы. баги в алг есть, но код в двух случаях (С++ и С#) одинаковый.
P.S. Вместо C# возможно будет J#, но это уже детали.
Re: Выбор между С++ и С#
От: WiseAlex Беларусь  
Дата: 12.01.06 18:09
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>Вопрос, на чем писать ? Может соптимизировано плохо для C# ? На разных тачках получается от 3 до 7 раз раницы. баги в алг есть, но код в двух случаях (С++ и С#) одинаковый.

Практически для всех расчето-емких задач предпочтительнее использовать компилируемый язык. К достоинствам С++ можно отнести и неличие мощной поддержки графов в виде boost::graph
Впрочем расхождение в 3 раза это слишком, тем более, что в C# может использется компиляция из байт-кода в native. Проверь на разных компьютерах — возможно проблемы с конкретным .NET framework и железом или что-то в этом духе, например мало ОЗУ и т.д.
PE>P.S. Вместо C# возможно будет J#, но это уже детали.
да, не принципиально
Re: Выбор между С++ и С#
От: WolfHound  
Дата: 12.01.06 19:12
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

На втором фреймворке
С++ 3209
.NET 4,190025
Единственное что изменил это заменил ArrayList на List<Node> и List<Edge> это дало прирост производительности примерно в 2 раза.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: Выбор между С++ и С#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.01.06 20:11
Оценка:
Здравствуйте, WiseAlex, Вы писали:

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


PE>>Вопрос, на чем писать ? Может соптимизировано плохо для C# ? На разных тачках получается от 3 до 7 раз раницы. баги в алг есть, но код в двух случаях (С++ и С#) одинаковый.

WA>Практически для всех расчето-емких задач предпочтительнее использовать компилируемый язык. К достоинствам С++ можно отнести и неличие мощной поддержки графов в виде boost::graph

Буст нельзя использовать по двум причинам
а. лицензия
б. при всей его крутости это весьма убого для наших задач. Нужна специализированая организация данных.


WA>Впрочем расхождение в 3 раза это слишком, тем более, что в C# может использется компиляция из

байт-кода в native. Проверь на разных компьютерах — возможно проблемы с конкретным .NET framework

В том то и дело. 3 раза было всего один раз. А обычно 4-5 раз.
Re[2]: Выбор между С++ и С#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.01.06 20:14
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Plutonia Experiment, Вы писали:


WH>На втором фреймворке

WH>С++ 3209
WH>.NET 4,190025
WH>Единственное что изменил это заменил ArrayList на List<Node> и List<Edge> это дало прирост производительности примерно в 2 раза.

3209 — это 3.2 секунды. У тебя P4-2.4 Gz ? У меня теже резутатты на моей тачке
А дотнетовский код работает 14.5сек примерно
Re[3]: Выбор между С++ и С#
От: WolfHound  
Дата: 12.01.06 20:30
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>3209 — это 3.2 секунды. У тебя P4-2.4 Gz ? У меня теже резутатты на моей тачке

PE>А дотнетовский код работает 14.5сек примерно
Я же написал что нужно сделать для того чтобы разница была 30%.
Короче нефиг устаревший фреймворк использовать и все будет хорошо.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: Выбор между С++ и С#
От: FreshMeat Россия http://www.rsdn.org
Дата: 12.01.06 22:13
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>Буст нельзя использовать по двум причинам

PE>а. лицензия
Странно. А чем не подошла?
Хорошо там, где мы есть! :)
Re[4]: Выбор между С++ и С#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 13.01.06 09:22
Оценка:
Здравствуйте, WolfHound, Вы писали:

PE>>3209 — это 3.2 секунды. У тебя P4-2.4 Gz ? У меня теже резутатты на моей тачке

PE>>А дотнетовский код работает 14.5сек примерно
WH>Я же написал что нужно сделать для того чтобы разница была 30%.
WH>Короче нефиг устаревший фреймворк использовать и все будет хорошо.

Проверил с Дженериками на модном фреймворке и у меня получается 3.2 секунды против 5.8 секунды. Где тут 30% не совсем ясно.
Re[5]: Выбор между С++ и С#
От: WolfHound  
Дата: 13.01.06 09:46
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>Проверил с Дженериками на модном фреймворке и у меня получается 3.2 секунды против 5.8 секунды. Где тут 30% не совсем ясно.

Не знаю как ты проверял но я свои цифры привел. У меня 30%.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[5]: Выбор между С++ и С#
От: seregaa Ниоткуда http://blogtani.ru
Дата: 13.01.06 13:02
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>Проверил с Дженериками на модном фреймворке и у меня получается 3.2 секунды против 5.8 секунды. Где тут 30% не совсем ясно.


У меня получилось 2.8 секунды против 4.2 — 50%
после замены циклов foreach на for разница сократилась до 35% — 2.8 секунды против 3.8
P4 2.26, 512Mb
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[3]: Выбор между С++ и С#
От: Аноним  
Дата: 13.01.06 14:49
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>Буст нельзя использовать по двум причинам

PE>а. лицензия
А что за проблема с бустовской лицензией?
Re[6]: Выбор между С++ и С#
От: Tanker  
Дата: 01.02.06 08:25
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Plutonia Experiment, Вы писали:


PE>>Проверил с Дженериками на модном фреймворке и у меня получается 3.2 секунды против 5.8 секунды. Где тут 30% не совсем ясно.

WH>Не знаю как ты проверял но я свои цифры привел. У меня 30%.

Я не спорю, что такое вохзможно, просто на каждой тачке результат разный. Вобщем после оптимизации кода на C++, С# даже с типизированными массивами и foreach не угнаться за плюсами. Тот же пример на с++ теперь работает 1.00 сек
The animals went in two by two, hurrah, hurrah...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.