Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Searching before insertion is not necessary with std::set.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Tue, 12 Jan 2021 08:58:11 +0000 (09:58 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Tue, 12 Jan 2021 08:58:11 +0000 (09:58 +0100)
examples/s4u/app-bittorrent/s4u-tracker.cpp
src/simdag/sd_global.cpp

index e3eb5e9..8f36504 100644 (file)
@@ -38,9 +38,7 @@ void Tracker::operator()()
       xbt_assert(query != nullptr);
 
       // Add the peer to our peer list, if not already known.
-      if (known_peers.find(query->getPeerId()) == known_peers.end()) {
-        known_peers.insert(query->getPeerId());
-      }
+      known_peers.emplace(query->getPeerId());
 
       // Sending back peers to the requesting peer
       auto* answer = new TrackerAnswer(TRACKER_QUERY_INTERVAL);
index 71edd95..5a9e822 100644 (file)
@@ -51,8 +51,7 @@ std::set<SD_task_t>* simulate(double how_long){
         SD_task_set_state(task, SD_DONE);
 
         /* the state has changed. Add it only if it's the first change */
-        if (sd_global->return_set.find(task) == sd_global->return_set.end())
-          sd_global->return_set.insert(task);
+        sd_global->return_set.emplace(task);
 
         /* remove the dependencies after this task */
         for (auto const& succ : *task->successors) {