Новые песни о старом. Надо решить 3 NP-полных задач на графах (не в лоб конечно, приближенным методом). Для этого будут писаться алгоритмический движок.
Вопрос, на чем писать ? Может соптимизировано плохо для C# ? На разных тачках получается от 3 до 7 раз раницы. баги в алг есть, но код в двух случаях (С++ и С#) одинаковый.
P.S. Вместо C# возможно будет J#, но это уже детали.
Здравствуйте, Plutonia Experiment, Вы писали:
PE>Вопрос, на чем писать ? Может соптимизировано плохо для C# ? На разных тачках получается от 3 до 7 раз раницы. баги в алг есть, но код в двух случаях (С++ и С#) одинаковый.
Практически для всех расчето-емких задач предпочтительнее использовать компилируемый язык. К достоинствам С++ можно отнести и неличие мощной поддержки графов в виде boost::graph
Впрочем расхождение в 3 раза это слишком, тем более, что в C# может использется компиляция из байт-кода в native. Проверь на разных компьютерах — возможно проблемы с конкретным .NET framework и железом или что-то в этом духе, например мало ОЗУ и т.д. PE>P.S. Вместо C# возможно будет J#, но это уже детали.
да, не принципиально
На втором фреймворке
С++ 3209
.NET 4,190025
Единственное что изменил это заменил ArrayList на List<Node> и List<Edge> это дало прирост производительности примерно в 2 раза.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WiseAlex, Вы писали:
WA>Здравствуйте, Plutonia Experiment, Вы писали:
PE>>Вопрос, на чем писать ? Может соптимизировано плохо для C# ? На разных тачках получается от 3 до 7 раз раницы. баги в алг есть, но код в двух случаях (С++ и С#) одинаковый. WA>Практически для всех расчето-емких задач предпочтительнее использовать компилируемый язык. К достоинствам С++ можно отнести и неличие мощной поддержки графов в виде boost::graph
Буст нельзя использовать по двум причинам
а. лицензия
б. при всей его крутости это весьма убого для наших задач. Нужна специализированая организация данных.
WA>Впрочем расхождение в 3 раза это слишком, тем более, что в C# может использется компиляция из
байт-кода в native. Проверь на разных компьютерах — возможно проблемы с конкретным .NET framework
В том то и дело. 3 раза было всего один раз. А обычно 4-5 раз.
Здравствуйте, 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сек примерно
Здравствуйте, Plutonia Experiment, Вы писали:
PE>3209 — это 3.2 секунды. У тебя P4-2.4 Gz ? У меня теже резутатты на моей тачке PE>А дотнетовский код работает 14.5сек примерно
Я же написал что нужно сделать для того чтобы разница была 30%.
Короче нефиг устаревший фреймворк использовать и все будет хорошо.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
PE>>3209 — это 3.2 секунды. У тебя P4-2.4 Gz ? У меня теже резутатты на моей тачке PE>>А дотнетовский код работает 14.5сек примерно WH>Я же написал что нужно сделать для того чтобы разница была 30%. WH>Короче нефиг устаревший фреймворк использовать и все будет хорошо.
Проверил с Дженериками на модном фреймворке и у меня получается 3.2 секунды против 5.8 секунды. Где тут 30% не совсем ясно.
Здравствуйте, Plutonia Experiment, Вы писали:
PE>Проверил с Дженериками на модном фреймворке и у меня получается 3.2 секунды против 5.8 секунды. Где тут 30% не совсем ясно.
Не знаю как ты проверял но я свои цифры привел. У меня 30%.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Plutonia Experiment, Вы писали:
PE>Проверил с Дженериками на модном фреймворке и у меня получается 3.2 секунды против 5.8 секунды. Где тут 30% не совсем ясно.
У меня получилось 2.8 секунды против 4.2 — 50%
после замены циклов foreach на for разница сократилась до 35% — 2.8 секунды против 3.8
P4 2.26, 512Mb
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Plutonia Experiment, Вы писали:
PE>>Проверил с Дженериками на модном фреймворке и у меня получается 3.2 секунды против 5.8 секунды. Где тут 30% не совсем ясно. WH>Не знаю как ты проверял но я свои цифры привел. У меня 30%.
Я не спорю, что такое вохзможно, просто на каждой тачке результат разный. Вобщем после оптимизации кода на C++, С# даже с типизированными массивами и foreach не угнаться за плюсами. Тот же пример на с++ теперь работает 1.00 сек