#include #include #include struct UDim { float d_scale; float d_offset; }; struct UVector2 { UDim d_x; UDim d_y; }; struct URect { UVector2 d_min; UVector2 d_max; }; int main () { clock_t st, et; URect val; st = clock (); while (st == clock ()) ; st = clock (); int i; for (i = 0; i < 100000; i++) { #if 1 char buff[512]; snprintf (buff, sizeof (buff), "{{%f,%f},{%f,%f},{%f,%f},{%f,%f}}", val.d_min.d_x.d_scale,val.d_min.d_x.d_offset, val.d_min.d_y.d_scale,val.d_min.d_y.d_offset, val.d_max.d_x.d_scale,val.d_max.d_x.d_offset, val.d_max.d_y.d_scale,val.d_max.d_y.d_offset ); #else std::ostringstream iss; iss << "{{" << val.d_min.d_x.d_scale << ',' << val.d_min.d_x.d_offset << "},{" << val.d_min.d_y.d_scale << ',' << val.d_min.d_y.d_offset << "},{" << val.d_max.d_x.d_scale<< ',' << val.d_max.d_x.d_offset << "},{" << val.d_max.d_y.d_scale << ',' << val.d_max.d_y.d_offset << "}}"; #endif } et = clock (); printf ("%g per second\n", i * CLOCKS_PER_SEC / double (et - st)); return 0; }