Skip to content

运算速度测试代码

C

c
#include <stdio.h>
#include <math.h>
#include <time.h>
int main()
{
  long tStart = time(NULL);
  long tEnd = tStart + 10;
  long tNow = 0;
  long count = 0;
  do {
    double num = sqrt(count);
    tNow = time(NULL);
    count++;
  } while (tNow < tEnd);
  printf("%ld", count);
  return 0;
}

Java

java
public class CalcTest {
    public static void main(String[] args) {
        long dMillis = 2000;
        long dSeconds = 0;
        long tStart = System.currentTimeMillis();
        long tEnd = 0;
        long tCurrent = 0;
        long count = 0;

        if (args.length == 1) {
            try {
                dMillis = Long.parseLong(args[0]);
            } catch (Exception err) {
                System.out.println("[Error] invalid duration: " + args[0]);
                return;
            }
        }

        dSeconds = dMillis / 1000;
        tEnd = tStart + dMillis;

        System.out.println("[Set] duration = " + dSeconds + "s");

        do {
            double num = Math.sqrt(count);
            count++;
            tCurrent = System.currentTimeMillis();
        } while (tCurrent < tEnd);

        System.out.println("[Result] " + count + " loops in " + dSeconds + "s");
    }
}