关于使用 .. 和 import global 的分析和例程

光庆 6小时前 85

新版本增加了 import global 功能。

“..” 这个符号平时可能接触不到,但对于经常使用类的朋友来说,应该是非常熟悉的。

增加了 import global 后,可以省略掉..了。

但据经验分析,省略掉..后可能会增加一次判断,也就是说,程序会先在当前空间找该对象,如果在当前空间找不到,再去全局空间找。

而使用 .. 则直接去全局空间找。所以更直接、更快。而且使用 .. 更直观,便于理解代码,一看就知道是全局对象。

所以,我还是倾向于使用 ..

用下面的例程来对比一下。

import console; 

class test{
	ctor(){
		var tm = ..time.tick();
		for(i=1;10000000;1){
			..string.isUtf8("")
		}
		tm = ..time.tick()-tm;
		..console.dump(tm)
	}; 
}
test()

class test2{
	ctor(){
		import global
		var tm = time.tick();
		for(i=1;10000000;1){
			string.isUtf8("")
		}
		tm = time.tick()-tm;
		console.dump(tm)
	}; 
}
test2()

console.pause();


用上述代码测试,使用 .. 平均耗时约 515 ms,不使用 .. 平均耗时约 600 ms,慢 16.5% 。


import console; 

class test{
	ctor(){
		var tm = ..time.tick();
		for(i=1;10000000;1){
			var b = ..math.pi
		}
		tm = ..time.tick()-tm;
		..console.dump(tm)
	}; 
}
test()

class test2{
	ctor(){
		import global
		var tm = time.tick();
		for(i=1;10000000;1){
			var b = math.pi
		}
		tm = time.tick()-tm;
		console.dump(tm)
	}; 
}
test2()

console.pause();


用上述代码测试,使用 .. 平均耗时约 219 ms,不使用 .. 平均耗时约 297 ms,慢 35.6% 。


至于如何使用,根据自己的习惯选择即可,毕竟这点耗时,一般情况下可以忽略不计。 

最新回复 (0)
返回