Skip to content

Commit

Permalink
[core] ecal sample logic massive_pub_sub aligned with master (#1733)
Browse files Browse the repository at this point in the history
InnoSetup script fixed for strange CMake configuration path behavior (needs to be fixed in a better way)
  • Loading branch information
rex-schilasky authored Sep 12, 2024
1 parent 786bfbc commit 8280ffd
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 14 deletions.
22 changes: 17 additions & 5 deletions cpack/innosetup/ecal_setup.iss.in
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,15 @@ Source: "{#ComponentStagingDir}\runtime\*"; DestDir: "{app}"; Fla
Source: "{#ComponentStagingDir}\Unspecified\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: runtime
Source: "{#ComponentStagingDir}\libraries\bin\*"; DestDir: "{app}\bin\"; Flags: ignoreversion recursesubdirs; Components: runtime

Source: "{#ComponentStagingDir}\_configuration\cfg\ecal.ini"; DestDir: "{commonappdata}\eCAL\"; Tasks: not replaceconf; Flags: ignoreversion confirmoverwrite; Components: runtime
Source: "{#ComponentStagingDir}\_configuration\cfg\ecal.ini"; DestDir: "{commonappdata}\eCAL\"; Tasks: replaceconf; Flags: ignoreversion; Components: runtime
Source: "{#ComponentStagingDir}\_configuration\cfg\ecaltime.ini"; DestDir: "{commonappdata}\eCAL\"; Flags: ignoreversion; Components: runtime
; we need to change the location of these configuration file (as hotfix we use skipifsourcedoesntexist flag)
Source: "{#ComponentStagingDir}\configuration\cfg\ecal.ini"; DestDir: "{commonappdata}\eCAL\"; Tasks: not replaceconf; Flags: ignoreversion skipifsourcedoesntexist confirmoverwrite; Components: runtime
Source: "{#ComponentStagingDir}\configuration\cfg\ecal.ini"; DestDir: "{commonappdata}\eCAL\"; Tasks: replaceconf; Flags: ignoreversion skipifsourcedoesntexist; Components: runtime
Source: "{#ComponentStagingDir}\configuration\cfg\ecaltime.ini"; DestDir: "{commonappdata}\eCAL\"; Flags: ignoreversion skipifsourcedoesntexist; Components: runtime

; we need to change the location of these configuration file (as hotfix we use skipifsourcedoesntexist flag)
Source: "{#ComponentStagingDir}\_configuration\cfg\ecal.ini"; DestDir: "{commonappdata}\eCAL\"; Tasks: not replaceconf; Flags: ignoreversion skipifsourcedoesntexist confirmoverwrite; Components: runtime
Source: "{#ComponentStagingDir}\_configuration\cfg\ecal.ini"; DestDir: "{commonappdata}\eCAL\"; Tasks: replaceconf; Flags: ignoreversion skipifsourcedoesntexist; Components: runtime
Source: "{#ComponentStagingDir}\_configuration\cfg\ecaltime.ini"; DestDir: "{commonappdata}\eCAL\"; Flags: ignoreversion skipifsourcedoesntexist; Components: runtime

; applications
Source: "{#ComponentStagingDir}\app\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: applications
Expand Down Expand Up @@ -118,11 +124,17 @@ Source: "{#DebugSdkStagingDir}\protobuf-export\*"; DestDir: "{app}";
; Source: "{#DebugSdkStagingDir}\protoc\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: sdk\protobuf

; sdk\hdf5
Source: "{#ComponentStagingDir}\_configinstall\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: sdk\hdf5
; we need to change the location of these configuration file (as hotfix we use skipifsourcedoesntexist flag)
Source: "{#ComponentStagingDir}\configinstall\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs skipifsourcedoesntexist; Components: sdk\hdf5
Source: "{#ComponentStagingDir}\_configinstall\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs skipifsourcedoesntexist; Components: sdk\hdf5

Source: "{#ComponentStagingDir}\headers\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: sdk\hdf5
Source: "{#ComponentStagingDir}\libraries\lib\*"; DestDir: "{app}\lib"; Flags: ignoreversion recursesubdirs; Components: sdk\hdf5

Source: "{#DebugSdkStagingDir}\_configinstall\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: sdk\hdf5
; we need to change the location of these configuration file (as hotfix we use skipifsourcedoesntexist flag)
Source: "{#DebugSdkStagingDir}\configinstall\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs skipifsourcedoesntexist; Components: sdk\hdf5
Source: "{#DebugSdkStagingDir}\_configinstall\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs skipifsourcedoesntexist; Components: sdk\hdf5

Source: "{#DebugSdkStagingDir}\libraries\lib\*"; DestDir: "{app}\lib"; Flags: ignoreversion recursesubdirs; Components: sdk\hdf5
Source: "{#DebugSdkStagingDir}\libraries\bin\*"; DestDir: "{app}\bin\"; Flags: ignoreversion recursesubdirs; Components: sdk\hdf5

Expand Down
66 changes: 57 additions & 9 deletions samples/cpp/benchmarks/massive_pub_sub/src/massive_pub_sub.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@
#include <thread>
#include <vector>

const int subscriber_number (5000);
const int subscriber_number(5000);

const int publisher_number (5000);
const int publisher_type_encoding_size_bytes (10*1024);
const int publisher_type_descriptor_size_bytes (10*1024);
const int publisher_number(5000);
const int publisher_type_encoding_size_bytes(10 * 1024);
const int publisher_type_descriptor_size_bytes(10 * 1024);

const int in_between_sleep_sec (5);
const int final_sleep_sec (120);
const int in_between_sleep_sec(5);
const int final_sleep_sec(120);

std::string GenerateSizedString(const std::string& name, size_t totalSize)
{
Expand Down Expand Up @@ -96,8 +96,8 @@ int main(int argc, char** argv)
auto start_time = std::chrono::high_resolution_clock::now();

eCAL::SDataTypeInformation data_type_info;
data_type_info.name = "TOPIC_TYPE_NAME";
data_type_info.encoding = GenerateSizedString("TOPIC_TYPE_ENCODING", publisher_type_encoding_size_bytes);
data_type_info.name = "TOPIC_TYPE_NAME";
data_type_info.encoding = GenerateSizedString("TOPIC_TYPE_ENCODING", publisher_type_encoding_size_bytes);
data_type_info.descriptor = GenerateSizedString("TOPIC_TYPE_DESCRIPTOR", publisher_type_descriptor_size_bytes);

for (int i = 0; i < publisher_number; i++)
Expand All @@ -116,7 +116,55 @@ int main(int argc, char** argv)
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end_time - start_time).count();
std::cout << "Time taken for publisher creation: " << duration << " milliseconds" << std::endl;
}
std::cout << std::endl;

// sleep for a few seconds
std::this_thread::sleep_for(std::chrono::seconds(in_between_sleep_sec));

// wait for full registration
std::cout << "Wait for publisher/subscriber registration." << std::endl;
{
// start time measurement
auto start_time = std::chrono::high_resolution_clock::now();

size_t num_topics(0);
while (num_topics < std::max(publisher_number, subscriber_number))
{
std::vector<std::string> topic_names;
eCAL::Util::GetTopicNames(topic_names);
num_topics = topic_names.size();

std::cout << "Registered topics : " << num_topics << std::endl;

// sleep for 500 milliseconds
std::this_thread::sleep_for(std::chrono::milliseconds(500));
}

// stop time measurement
auto end_time = std::chrono::high_resolution_clock::now();

// calculate the duration
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end_time - start_time).count();
std::cout << "Time taken to get all registered: " << duration << " milliseconds" << std::endl;
}

// get topics information
std::cout << "Get topics information. (";
size_t num_topics(0);
{
// start time measurement
auto start_time = std::chrono::high_resolution_clock::now();

std::unordered_map<std::string, eCAL::SDataTypeInformation> topic_info_map;
eCAL::Util::GetTopics(topic_info_map);
num_topics = topic_info_map.size();

// stop time measurement
auto end_time = std::chrono::high_resolution_clock::now();

// calculate the duration
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end_time - start_time).count();
std::cout << num_topics << ")" << std::endl << "Time taken to get topics information: " << duration << " milliseconds" << std::endl;
}

// sleep for a few seconds
std::this_thread::sleep_for(std::chrono::seconds(final_sleep_sec));
Expand Down

0 comments on commit 8280ffd

Please sign in to comment.