📄 bench.jc
字号:
import stdlib;
/*** main ***/
function long main(const array& args)
{
long ticks;
stdlib::Print("*** ACKERMAN ***\n");
long NUM = 8;
long NUM2 = 3;
ticks = stdlib::GetTicks();
stdlib::Print(Ack(NUM2,NUM));
stdlib::Printf("\ntime = %g\n", (stdlib::GetTicks() - ticks) / 1000.0);
stdlib::Print("*** FIB ***\n");
long N = 32;
ticks = stdlib::GetTicks();
stdlib::Print(fib(N));
stdlib::Printf("\ntime = %g\n", (stdlib::GetTicks() - ticks) / 1000.0);
stdlib::Print("*** 6 TIMES NESTED LOOP TEST ***\n");
ticks = stdlib::GetTicks();
stdlib::Printf("%d\n", bench());
stdlib::Printf("\ntime = %g\n", (stdlib::GetTicks() - ticks) / 1000.0);
return 0;
}
/*** Ack ***/
function long& Ack(long& M, long& N)
{
if (M == 0)
{
N++;
return N;
}
if (N == 0)
{
M--;
return Ack(M, new long(1));
}
N--;
return Ack(M-1, Ack(M, N));
}
/*** fib ***/
function long& fib(long& n)
{
if (n < 2) { return new long(1); }
return fib(n-2) + fib(n-1);
}
/*** bench ***/
function long bench()
{
long ticks = stdlib::GetTicks();
long n=18;
long x=0;
for (long a=0;a<n;a+=1)
{
for (long b=0;b<n;b+=1)
{
for (long c=0;c<n;c+=1)
{
for (long d=0;d<n;d+=1)
{
for (long e=0;e<n;e+=1)
{
for (long f=0;f<n;f+=1)
{
x+=1;
}
}
}
}
}
}
return x;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -