#include
#include
using namespace std;
int main(){ const int maxLoop = 1000000000;
{
float fAngle = 90.f;
const time_t startTime = time(0);
for( int i = 0; i < maxLoop; ++i ) {
volatile float clamppedAngle = fmod( fAngle, 360.f );
}
const time_t endTime = time(0);
cout << endTime - startTime << endl;
}
{
float fAngle = 90.f;
const time_t startTime = time(0);
for( int i = 0; i < maxLoop; ++i ) {
volatile float clamppedAngle = (( fAngle < 0.f ) ? - fAngle : fAngle);
while( clamppedAngle >= 360.f )
clamppedAngle -= 360.f;
}
const time_t endTime = time(0);
cout << endTime - startTime << endl;
}
{
float fAngle = 90.f;
const time_t startTime = time(0);
for( int i = 0; i < maxLoop; ++i ) {
volatile float clamppedAngle = (360.f/65536) *((int)(fAngle*(65536/360.f)) & 65536);
}
const time_t endTime = time(0);
cout << endTime - startTime << endl;
}
{
float fAngle = 90.f;
const time_t startTime = time(0);
for( int i = 0; i < maxLoop; ++i ) {
volatile float clamppedAngle = fAngle - ((int) fAngle / 360) * 360.f;
}
const time_t endTime = time(0);
cout << endTime - startTime << endl;
}
} |
<실행 결과>
26
5
3
5