Browse Source

performance experiments

aidmar.wainakh 6 years ago
parent
commit
77d74559fb

+ 3 - 3
code_boost/src/cxx/pcap_processor.cpp

@@ -121,10 +121,10 @@ void pcap_processor::collect_statistics() {
         //int timeIntervalCounter = 1;   
         //int timeIntervalsNum = 100;
         //std::chrono::microseconds intervalStartTimestamp = stats.getTimestampFirstPacket();
-        //std::chrono::microseconds firstTimestamp = stats.getTimestampFirstPacket();   
+        //std::chrono::microseconds firstTimestamp = stats.getTimestampFirstPacket(); 
         std::chrono::high_resolution_clock::time_point t1 = std::chrono::high_resolution_clock::now();    
-        SnifferIterator lastpkt; // 
-        for (SnifferIterator j = snifferOverview.begin(); j != snifferOverview.end(); (((((((((j++)++)++)++)++)++)++)++)++)++) {lastpkt = j;}  
+        SnifferIterator lastpkt; 
+        for (SnifferIterator j = snifferOverview.begin(); j != snifferOverview.end();  snifferIteratorIncrement(j)) {lastpkt = j;}          
         std::chrono::high_resolution_clock::time_point t2 = std::chrono::high_resolution_clock::now();
         auto duration = std::chrono::duration_cast<std::chrono::microseconds>( t2 - t1 ).count()*1e-6;
         std::cout<< "empty loop: " << duration << " sec" << std::endl;

+ 8 - 0
code_boost/src/cxx/utilities.cpp

@@ -97,3 +97,11 @@ int getClosestIndex(std::vector<std::chrono::microseconds> v, std::chrono::micro
     });
     return std::distance(begin(v), i);
 }
+
+/**
+ * Advance iterator by 100 steps.
+ * @param iterator to advance
+ */
+void snifferIteratorIncrement(Tins::SnifferIterator& iterator){
+    (((((((((iterator++)++)++)++)++)++)++)++)++)++;  
+}

+ 2 - 0
code_boost/src/cxx/utilities.h

@@ -7,6 +7,7 @@
 #include <sstream>
 #include <chrono>
 #include <algorithm>
+#include <tins/tins.h>
 
 // Aidmar
 /**
@@ -28,5 +29,6 @@
 void split_str(const std::string& s, char delim,std::vector<std::string>& v);
 std::string getIPv4Class(std::string ipAddress);
 int getClosestIndex(std::vector<std::chrono::microseconds> v, std::chrono::microseconds refElem);
+void snifferIteratorIncrement(Tins::SnifferIterator& iterator);
 
 #endif //UTILITIES_H