⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bench.jc

📁 The JILRunOnly project is a simple command-line application written in ANSI-C that is intended to de
💻 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 + -