KCacheGrind 中的闭包是什么?
What is closure in KCacheGrind?
KCacheGrind
中的closure
是什么意思?我有一个函数,它指出了 spl_autoload_register()
函数,KCacheGrind
中的 spl_autoload_call
。而且函数的self
时间是60+所以当然想优化一下,但是不知道从何下手
KCacheGrind
中的 closure
是什么?
我需要优化上述功能以减少self
时间吗?
闭包是一个函数,它使用的变量在其局部范围之外,但不是全局范围。
我将使用与语言无关的示例,因为自从我编写以来它已经永远存在了 PHP:
function someFunc() {
var a = 0;
return function() { // This is the closure
a++;
return a;
}
}
var f = someFunc();
print(f()); // Prints 1
print(f()); // Prints 2
print(f()); // Prints 3
注意第一条评论。返回的函数是 a
变量的闭包。
KCacheGrind
中的closure
是什么意思?我有一个函数,它指出了 spl_autoload_register()
函数,KCacheGrind
中的 spl_autoload_call
。而且函数的self
时间是60+所以当然想优化一下,但是不知道从何下手
KCacheGrind
中的 closure
是什么?
我需要优化上述功能以减少self
时间吗?
闭包是一个函数,它使用的变量在其局部范围之外,但不是全局范围。
我将使用与语言无关的示例,因为自从我编写以来它已经永远存在了 PHP:
function someFunc() {
var a = 0;
return function() { // This is the closure
a++;
return a;
}
}
var f = someFunc();
print(f()); // Prints 1
print(f()); // Prints 2
print(f()); // Prints 3
注意第一条评论。返回的函数是 a
变量的闭包。