在我的代码中,我有3个函数基本嵌套。一个叫一个,然后又叫另一个。代码执行非常缓慢。我相信,因为这些API调用可以包含大量的数据,并且它们运行的次数比对性能产生影响的次数要多。
代码示例如下:
$data['object'] = 'domain';
$data['action'] = 'read';
$data['format'] = 'json';
if($response = $this->request($data)){
$obj = json_decode($response,true);
.......
}
}else{
return $response;
}
obj获取所有数据。
我能否以某种形式创建一个私有数组,然后将所有结果写入其中,然后运行我的语句,而不是多次调用API ?
优化的黄金法则是,在不首先测量之前,不要进行优化。使用分析器运行代码,并告诉您哪些代码执行得最多,哪些代码花费的时间最长。如果你不测量,你可能会加速错误的东西。我被引导相信,因为这些API调用可以包含大量数据,并且它们被运行的次数超过一次,这对性能有影响。
对于PHP,您可能希望从Xdebug开始。
一旦你知道什么是慢的,那么你就可以考虑如何加快速度。
如果您不希望返回的数据从一个调用到下一个调用改变,那么,是的,您可以将结果存储在本地(甚至预处理它们以便于使用),然后从那里重用它们。在花哨的技术术语中(取决于实现),这将被称为"缓存"或"记忆"。