Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
optimize this vector traversal
[simgrid.git] / src / surf / cpu_ti.cpp
index 939a2fc..530a2e2 100644 (file)
@@ -32,8 +32,8 @@ CpuTiTrace::CpuTiTrace(tmgr_trace_t speedTrace)
   double time = 0;
   int i = 0;
   nbPoints_ = speedTrace->event_list.size() + 1;
-  timePoints_ = static_cast<double*>(xbt_malloc0(sizeof(double) * nbPoints_));
-  integral_ =  static_cast<double*>(xbt_malloc0(sizeof(double) * nbPoints_));
+  timePoints_ = new double[nbPoints_];
+  integral_ =  new double[nbPoints_];
   for (auto val : speedTrace->event_list) {
     timePoints_[i] = time;
     integral_[i] = integral;
@@ -47,8 +47,8 @@ CpuTiTrace::CpuTiTrace(tmgr_trace_t speedTrace)
 
 CpuTiTrace::~CpuTiTrace()
 {
-  xbt_free(timePoints_);
-  xbt_free(integral_);
+  delete [] timePoints_;
+  delete [] integral_;
 }
 
 CpuTiTgmr::~CpuTiTgmr()
@@ -252,7 +252,8 @@ double CpuTiTgmr::getPowerScale(double a)
 * \param  value          Percentage of CPU speed available (useful to fixed tracing)
 * \return  Integration trace structure
 */
-CpuTiTgmr::CpuTiTgmr(tmgr_trace_t speedTrace, double value)
+CpuTiTgmr::CpuTiTgmr(tmgr_trace_t speedTrace, double value) :
+    speedTrace_(speedTrace)
 {
   double total_time = 0.0;
   trace_ = 0;
@@ -274,12 +275,11 @@ CpuTiTgmr::CpuTiTgmr(tmgr_trace_t speedTrace, double value)
   }
 
   type_ = TRACE_DYNAMIC;
-  speedTrace_ = speedTrace;
 
   /* count the total time of trace file */
-  for (auto val: speedTrace->event_list) {
+  for (auto val : speedTrace->event_list)
     total_time += val.delta;
-  }
+
   trace_ = new CpuTiTrace(speedTrace);
   lastTime_ = total_time;
   total_ = trace_->integrateSimple(0, total_time);
@@ -360,7 +360,7 @@ Cpu *CpuTiModel::createCpu(simgrid::s4u::Host *host, std::vector<double>* speedP
   return new CpuTi(this, host, speedPerPstate, core);
 }
 
-double CpuTiModel::next_occuring_event(double now)
+double CpuTiModel::nextOccuringEvent(double now)
 {
   double min_action_duration = -1;
 
@@ -459,7 +459,7 @@ void CpuTi::apply_event(tmgr_trace_iterator_t event, double value)
   } else if (event == stateEvent_) {
     if (value > 0) {
       if(isOff())
-        host_that_restart.push_back(getName());
+        host_that_restart.push_back(getHost());
       turnOn();
     } else {
       turnOff();
@@ -669,9 +669,8 @@ void CpuTi::modified(bool modified){
 
 CpuTiAction::CpuTiAction(CpuTiModel *model_, double cost, bool failed, CpuTi *cpu)
  : CpuAction(model_, cost, failed)
+ , cpu_(cpu)
 {
-  cpu_ = cpu;
-  indexHeap_ = -1;
   cpu_->modified(true);
 }
 
@@ -709,7 +708,6 @@ void CpuTiAction::cancel()
   this->setState(Action::State::failed);
   xbt_heap_remove(getModel()->getActionHeap(), this->indexHeap_);
   cpu_->modified(true);
-  return;
 }
 
 void CpuTiAction::suspend()