OoOJoin  0.0.1
The next generation of out-of-order join operator
UtilityFunctions.hpp
Go to the documentation of this file.
1 
2 // Copyright (C) 2021 by the INTELLI team (https://github.com/intellistream)
3 
4 #ifndef IntelliStream_SRC_UTILS_UTILITYFUNCTIONS_HPP_
5 #define IntelliStream_SRC_UTILS_UTILITYFUNCTIONS_HPP_
6 
7 #include <string>
8 #include <experimental/filesystem>
9 #include <barrier>
10 #include <functional>
11 //#include <Common/Types.h>
12 
13 #include <vector>
14 /* Period parameters */
15 
16 #define TRUE 1
17 #define FALSE 0
18 #include <sys/time.h>
19 namespace INTELLI {
20 typedef std::shared_ptr<std::barrier<>> BarrierPtr;
21 #define TIME_LAST_UNIT_MS 1000
22 #define TIME_LAST_UNIT_US 1000000
27 
28  public:
30 
31  static std::shared_ptr<std::barrier<>> createBarrier(int count);
32 
33  // static void timerStart(Result &result);
34 
35  //static void timerEnd(Result &result);
36 
37  static size_t timeLast(size_t past, size_t unitTime);
38  static size_t timeLastUs(struct timeval past);
39 
40  //bind to CPU
48  static int bind2Core(int id);
49  //partition
50 
51  static std::vector<size_t> avgPartitionSizeFinal(size_t inS, std::vector<size_t> partitionWeight);
52  static std::vector<size_t> weightedPartitionSizeFinal(size_t inS, std::vector<size_t> partitionWeight);
53  static size_t to_periodical(size_t val, size_t period) {
54  if (val < period) {
55  return val;
56  }
57  size_t ru = val % period;
58  /* if(ru==0)
59  {
60  return period;
61  }*/
62  return ru;
63  }
64 };
65 }
66 #endif //IntelliStream_SRC_UTILS_UTILITYFUNCTIONS_HPP_
Definition: UtilityFunctions.hpp:26
static int bind2Core(int id)
Definition: UtilityFunctions.cpp:22