xbt_assert(not surf_cpu_model_pm);
xbt_assert(not surf_cpu_model_vm);
- char *optim = xbt_cfg_get_string("cpu/optim");
- if (not strcmp(optim, "TI")) {
+ if (xbt_cfg_get_string("cpu/optim") == "TI") {
surf_cpu_model_init_ti();
return;
}
CpuCas01Model::CpuCas01Model() : simgrid::surf::CpuModel()
{
- char *optim = xbt_cfg_get_string("cpu/optim");
+ std::string optim = xbt_cfg_get_string("cpu/optim");
bool select = xbt_cfg_get_boolean("cpu/maxmin-selective-update");
- if (not strcmp(optim, "Full")) {
+ if (optim == "Full") {
setUpdateMechanism(UM_FULL);
selectiveUpdate_ = select;
- } else if (not strcmp(optim, "Lazy")) {
+ } else if (optim == "Lazy") {
setUpdateMechanism(UM_LAZY);
selectiveUpdate_ = true;
xbt_assert(select || (xbt_cfg_is_default_value("cpu/maxmin-selective-update")),
"Disabling selective update while using the lazy update mechanism is dumb!");
} else {
- xbt_die("Unsupported optimization (%s) for this model", optim);
+ xbt_die("Unsupported optimization (%s) for this model", optim.c_str());
}
p_cpuRunningActionSetThatDoesNotNeedBeingChecked = new ActionList();
maxminSystem_ = lmm_system_new(selectiveUpdate_);
if (getUpdateMechanism() == UM_LAZY) {
- actionHeap_ = xbt_heap_new(8, nullptr);
- xbt_heap_set_update_callback(actionHeap_, surf_action_lmm_update_index_heap);
modifiedSet_ = new ActionLmmList();
maxminSystem_->keep_track = modifiedSet_;
}
{
lmm_system_free(maxminSystem_);
maxminSystem_ = nullptr;
- xbt_heap_free(actionHeap_);
delete modifiedSet_;
surf_cpu_model_pm = nullptr;
, requestedCore_(requestedCore)
{
if (model->getUpdateMechanism() == UM_LAZY) {
- updateIndexHeap(-1);
refreshLastUpdate();
setLastValue(0.0);
}