Приложение Win32 (VS2010) работает намного медленнее, чем консоль в Eclipse (c ++) - PullRequest
0 голосов
/ 22 августа 2011

У меня есть проект, который я создал в Eclipse c ++. Проект вызывает функцию, которая выполняет множество циклов (тысяч) для вычисления результата.

Когда я запускаю его в Eclipse, это занимает 1 минуту (~ 70 секунд).

Я хотел добавить графический интерфейс в проект, поэтому я открыл проект WinForm (Win32) в VisualStudio2010 и переместил все файлы проекта из каталога eclipse в новый каталог (созданный для VS2010).

Теперь, когда я запускаю форму, функция занимает 4-5 минут. Я пытался отменить индикатор выполнения, но это не было проблемой, поэтому я понял, что долгое время не из-за графического интерфейса.

Я думаю, что проблема в компиляции в VS2010. Я пытался изменить некоторые свойства Оптимизации, но проект не может быть скомпилирован ...

Как мне сократить время работы?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 22 августа 2011

Моя ставка будет отладчиком в VS2010

Сборка с оптимизированными настройками, но затем запускать сгенерированный файл из проводника, а не из Visual Studio.Вы также можете отключить вложение отладчика в настройках проекта.

Проверьте, не отличается ли время выполнения.

0 голосов
/ 22 августа 2011

В основном вы ответили на свой вопрос:

Я думаю, что проблема в компиляции в VS2010. Я пытался изменить некоторые свойства оптимизации, но проект не может быть скомпилирован ...

однако на это трудно ответить, так как в обоих компиляторах есть много вариантов оптимизации, трудно сказать, какой вариант делает его намного быстрее / медленнее. Также возможно (и, скорее всего, так), что компилятор MS просто не может создать точно такой же или похожий код, что и компилятор Eclipse.

Вы можете "поиграть" с переключателями оптимизации компилятора VS и посмотреть, поможет ли это. Вы можете попытаться сравнить его параметры с параметрами Eclipse, чтобы найти различия, но, скорее всего, они будут слишком разными.

Как правильно упомянул @Zuljin, проверьте, что вы выбрали проект Win32, а не приложение CLR (Windows Forms). Если вы используете проект CLR, то, естественно, он будет работать медленнее, чем собственный тип программы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...