SimpleEventBuilder/testing/results/ConnMethodComparison.C

62 lines
2.2 KiB
C++
Raw Normal View History

2023-09-27 15:47:46 +00:00
void ConnMethodComparison() {
gROOT->SetBatch(kTRUE);
auto sel_filename = "./select_data_stats_1000desc_NOBLOCK_TIMEOUT_HARD.csv";
auto sel_df = ROOT::RDF::MakeCsvDataFrame(sel_filename, true, ';');
auto sel_nc = sel_df.Define("bandwidth", "( total_received_data/static_cast<double>(1024) ) / (time/1000)").Define("bf_kb", "buffer_size/static_cast<double>(1024)");
auto epoll_filename = "./epoll_data_stats_1000_TIMEOUT_HARD.csv";
auto epoll_df = ROOT::RDF::MakeCsvDataFrame(epoll_filename, true, ';');
auto epoll_nc = epoll_df.Define("bandwidth", "( total_received_data/static_cast<double>(1024) ) / (time/1000)").Define("bf_kb", "buffer_size/static_cast<double>(1024)");
auto canvas = new TCanvas("c", "c", 1400, 1000);
//canvas->SetLogx();
canvas->SetGrid();
//canvas->SetLogy();
auto sel_g = sel_nc.Graph("bf_kb", "bandwidth");
sel_g->SetTitle("Select vs Epoll: 1000 clients (99.8% long timeouts);Buffer Size [kB];Bandwidth [kB/s]");
sel_g->SetName("sel");
sel_g->SetMarkerStyle(55);
sel_g->SetMarkerSize(2);
sel_g->SetMarkerColor(kBlue);
sel_g->SetLineColor(kBlue);
sel_g->SetLineWidth(2);
//sel_g->GetXaxis()->SetLimits(-50,1000);
sel_g->GetHistogram()->SetMinimum(0);
sel_g->GetHistogram()->SetMaximum(7000);
sel_g->DrawClone("ALP");
auto epoll_g = epoll_nc.Graph("bf_kb", "bandwidth");
epoll_g->SetTitle("Select vs Epoll: 1000 clients (99.8% long timeouts);Buffer Size [kB];Bandwidth [kB/s]");
epoll_g->SetName("epoll");
epoll_g->SetMarkerStyle(55);
epoll_g->SetMarkerSize(2);
epoll_g->SetMarkerColor(kRed);
epoll_g->SetLineColor(kRed);
epoll_g->SetLineWidth(2);
//epoll_g->GetXaxis()->SetLimits(-50,1000);
//epoll_g->GetHistogram()->SetMinimum(1e3);
//epoll_g->GetHistogram()->SetMaximum(1e7);
epoll_g->DrawClone("LP");
//gStyle->SetLegendTextSize(0.01);
auto leg = new TLegend(0.60,0.42,0.86,0.57);
leg->SetHeader("Connection method", "c");
leg->AddEntry("sel","Select","lp");
leg->AddEntry("epoll","Epoll","lp");
leg->Draw();
//canvas->BuildLegend(0.65,0.2,0.86,0.32, "Connection Method");
canvas->Print("Epoll_Select_1000_TIMEOUT_HARD.png");
gROOT->SetBatch(kFALSE);
gApplication->Terminate(0);
}