我读了一个问题,哪个实现更适合执行一些矢量项的计数。
这比
更好吗?projects
此
auto countif = [] (T t) { return t.countable(); };
const int count = std::count_if(v.begin(), v.end(), countif);
return count ;
该问题已被否决,因此被删除。
答案 0 :(得分:1)
你应该几乎总是使用像std::count_if这样的算法(如果有的话)。
原因是编译器供应商可以将优化放在不可移植的情况下,如果您要在自己的循环中手动将它们放入。例如,内部函数可以是setInterval(function(){
this.dbProcess.dataProcess('','getServerUpdate.php').subscribe(
data => {
//console.log("getRequests", data);
this.response = data;
this.response = this.response._body;
this.response = JSON.parse(this.response);
console.log(this.response.REQUEST)
console.log("Timer Running : " + localStorage.getItem('timer'))
if(this.response.RESPONSE == "success"){
console.log("success");
this.timer = localStorage.getItem('timer');
clearInterval(this.timer);
localStorage.setItem('timer', "end");
console.log("Timer Ended" + this.timer);
this.vibration.vibrate(1000);
this.localNotifications.schedule( {
id: this.response.REQUEST.RequestId,
title: 'New Ride Request (' + this.response.REQUEST.firstname + ' ' +this.response.REQUEST.lastname + ')' ,
text: this.response.REQUEST.FromLocation + ' ' +this.response.REQUEST.ToLocation + ' ' + this.response.REQUEST.EstimatedCost,
}
);
this.modal = this.modalCtrl.create(JobRequestPage);
this.modal.present();
}
else{
console.log("Failure");
}
},
err => { //on error this will execute
console.log("server error");
//this.showError(err);
},
() =>{ // on complete this will execute
console.log("completed");
}
);
}, 5000);
特定的,甚至可以加速基本任务,例如计算数组中的值。
除非您特别需要使用非可移植优化,否则标准库中编译器提供的算法可能比您可能编写的内容更快。 / p>