Visual C++ Studio a szybkość wykonywania kodu :/

0

Witam, napisałem prosty program w Visual C++ Studio (Win32 Console).

Na pasku mam ustawione na "Release".

Gdy klikam na "Debug -> Start Without Debugging" program wykonuje się bardzo szybko.

Natomiast gdy ręcznie otwieram plik z katalogu "release" projektu, to program wykonuje się ponad 15 razy wolniej! Mimo tego, że w opcjach "Release -> C++- > Optimization" ustawiłem wszystkie opcje optymalizacji kodu. Próbowałem chyba wszystkie opcje z menu "Build" (aby zbudować plik w katalogu release), jednak zawsze z tym samym skutkiem. A i w kodzie wykorzystuję instrukcje SSE w postaci wstawek asemblerowych.

Wie ktoś może gdzie może leżeć przyczyna problemu?

Dzieje się coś bardzo dziwnego (przynajmniej w moim odczuciu):

W folderze release mam tylko 1 skompilowany plik:
user image

Otworzyłem linie poleceń, przeszedłem do katalogu w którym znajduje się ten plik... i:

Zależnie od wybranego polecenia "multiplymatrixbyvector" albo "multiplymatrixbyvector.exe" (czyli z ".exe" na końcu albo bez) uzyskuję zupełnie inne czasy wykonania:!
user image

Jest mi ktoś w stanie wyjaśnić czemu się tak dzieje?

0

Powiedz mi, jak mogłeś zauważyć nanosekundowe różnice ?. Wykonaj w programie mnożenie milion razy i dopiero porównaj czasy.

0

adf88, test wykonywałem po 10 razy (żeby sprawdzić jaki jest rozrzut między wynikami), w każdym teście po 100 milionów odwołań do funkcji mnożącej, a czas mierzyłem funkcją o rozdzielczości 100 nanosekund.

Aczkolwiek moim pytaniem było dlaczego uruchamiając tego samego execa na różny sposób otrzymuję zupełnie inne czasy wykonania :] Nawet intuicyjnie widać, że w jednym wypadku program wykonuje się dłużej - po prostu czas wykonania testu wydłuża się kilkakrotnie w stosunku do "normalnej" wersji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1