Я работаю над приложением в реальном времени (позволяет называть его App1), которое взаимодействует с другим приложением (App2). Я использовал VS2008, и оба приложения находятся на C++. Недавно я преобразовал проект App1 в VS2010, и сразу после этого он начал сбой (я использую VS2010 Premium Ver. 10.0.30319.1). Сброс сбоя показывает, что непосредственно перед сбоем App2 пытается отправить запрос в App1 несколько раз без получения ответа. Поэтому я подумал, что, возможно, преобразование App1 в VS2010 прикручило производительность, и для App1 требуется много времени для генерации ответа. Использует ли VS2010 какое-либо влияние на производительность (по сравнению с VS2008)?Производительность приложений на C++ в VS2010 и VS2008
ответ
Ну, конечно, это имеет «некоторый» эффект на производительность. Компилятор новее, и во многих отношениях лучше.
Проблема, с которой вы страдаете, вряд ли будет связана с тем, что компилятор работает неправильно. Возможно, вы сделали предположение о том, что больше не выполняется в рамках возможностей C++ 0x, представленных в 2010 году, но я бы предположил, что у вас есть ошибка в версии VS2008. Вам нужно выяснить, почему его висит и посмотреть, что вы можете сделать, чтобы остановить это зависание. Весьма вероятно, что тайминги были изменены с использованием 2010 года и предположения, которые вы сделали (и вы никогда не должны предполагать, что все будет работать определенным образом ... либо знать, либо искать его) вернулось, чтобы укусить вас задница.
Наверное, не тот ответ, который вы искали, хотя ... но я определенно поставил бы на него ошибку!
хорошие моменты, спасибо, я думаю, что я перейду на VS2008 и скомпилирую и посмотрю, сработает ли он снова или нет. Если это не так, то это, вероятно, связано с некоторым «предположением». – Ahmad
Лично я запускаю 2008 и 2010 годы рядом друг с другом (то есть оба установлены в моей системе dev). Поскольку у меня появляется такая возможность, весь мой код обновляется до 2010 года, и до сих пор у меня не было никаких проблем (поэтому я считаю его вероятным фактическим ошибкой). – Goz
Дело в том, чтобы не догадываться об этом и этом.
Что нужно сделать, это найти ошибку и исправить ее.
Это сложно с асинхронными приложениями, которые координируются с передачей сообщений. То, как я обрабатываю такие задания, - это создать подробный журнал сообщений о трафике сообщений с каждым из приложений. Я беру эти журналы и объединяя их вместе в одну временную шкалу. Затем я изучаю график и ищу работу, которая не работает должным образом.
Это работа. Это может занять много часов, и вам, вероятно, придется повторить его, но вы найдете проблему. Я предполагаю, что вы такой программист, который справится с трудной работой и проследит ее.
Точно; На самом деле я считаю, что нужно рассмотреть все возможности и попробовать их (вот что я подразумеваю под гадать). У меня уже есть этот журнал, и я вижу, где задержка, и в каком типе сообщения. Я проанализировал все новые функции и не смог найти никакой связи между этими сообщениями и новыми функциями; поэтому моя следующая догадка заключается в том, что это вызвано каким-то изменением таймингов 2010 года. Поэтому я тестирую, и если это проблема, я ее исправлю. – Ahmad
@ Амад: Похоже, вы знаете, что делать. По моему опыту «по угадыванию и по golly» походит на медленный путь в Китай. Если есть диагностическая техника, которая говорит мне о проблеме, даже если она кажется медленной и утомительной, она быстрее и увереннее, чем угадывание. Удачи. –
- 1. преобразование vs2008 в vs2010
- 2. Совместимость проектов VS2010 и VS2008
- 3. CUDA + VS2010 без VS2008
- 4. VS2010 и VS2008 вместе в команде
- 5. QMAKE, когда VS2008 и VS2010 установлен
- 6. Служба WCF, переносимая с VS2008 на VS2010
- 7. Отсутствует в процессе VS2008 и VS2010 Express
- 8. VS2008 для VS2010 преобразования проекта
- 9. Ошибка при открытии решения VS2008 на VS2010
- 10. VS2010 vs VS2008 SP1 на Windows 7
- 11. Удалить VS2008 после VS2010 Обновление?
- 12. Преобразование окон из VS2008 в VS2010
- 13. Установка VS2008 после установки VS2010
- 14. Как исправить VS2008 и VS2010 dev envts на Win7 x64
- 15. Могу ли я установить VS2008 и VS2010 на свой компьютер?
- 16. FSharp.Compiler.CodeDom для VS2008 и VS2010 бок о бок
- 17. Не удалось открыть проект vs2008 в vs2010
- 18. Преобразование WebService с vs2008 в vs2010
- 19. Что следует учитывать при переходе с VS2008 на VS2010
- 20. В чем разница VS2008 и VS2010, когда я тестирую нагрузку?
- 21. VS2010 Решения, всегда открывающиеся с VS2008?
- 22. Перенос SQL-проекта CLR с VS2008 на VS2010 - развернуть сбой
- 23. VS2008 rdl vs. VS2010 rdl отображение данных
- 24. Различия между публичными интерфейсами между vs2008 и vs2010?
- 25. Преобразование веб-приложения от vs2008 до vs2010?
- 26. Создание файла решения VS2010 для решения VS2008
- 27. Как изменить VS2008 Theme Как VS2010
- 28. VS2008 Team Suite работает с VS2010 TFS?
- 29. Octave C++ и VS2010
- 30. Может ли VS2010 проект VSPackage быть установлен на VS2008?
Что такое «долгое время?» Сбой приложения после того, как код меньше микросекунды? –
Он делает. Он, в частности, поддерживает ссылки rvalue и определяет механизмы перемещения/перенос операторов назначения для классов в стандартной библиотеке. В зависимости от использования STL это может привести к быстрой работе вашей программы. – avakar
Во всяком случае, я ожидаю, что переход на VC10 ускорит ваше приложение из-за постоянно совершенствующейся логики оптимизации. Вы сначала посмотрели, не сломали ли вы что-то, когда портировали, или вы просто прыгнули прямо на «microsoft sucks?». –