#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <string>
#include <sys/time.h>
using namespace std;
#define BEGIN_STAT(name) long long name##cost; string name = #name; struct timeval name##first, name##second ,name##lapsed; gettimeofday(&name##first, NULL); {
#define END_STAT(name) }gettimeofday (&name##second, NULL); if (name##first##.##tv_usec > name##second##.##tv_usec) /
{name##second##.##tv_usec += 1000000; name##second##.##tv_sec--;} /
name##lapsed##.##tv_usec = name##second##.##tv_usec - name##first##.##tv_usec; /
name##lapsed##.##tv_sec = name##second##.##tv_sec - name##first##.##tv_sec; /
name##cost = name##lapsed##.##tv_sec * 1000000 + name##lapsed##.##tv_usec; /
printf("part is %s, cost is %lld!/n", name##.##c_str(), name##cost);
int main()
{
BEGIN_STAT(test1)
for (int i = 0; i < 10000000; i++)
{
i = i + 1;
}
END_STAT(test1)
return 0;
}

被折叠的 条评论
为什么被折叠?



