Skip to content

Commit da45b93

Browse files
committed
perf: use absl::chunked_queue instead of deque
1 parent 6cc1072 commit da45b93

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/lancet/cbdg/graph.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
#include <algorithm>
44
#include <cmath>
5-
#include <deque>
65
#include <filesystem>
76
#include <fstream>
87
#include <ios>
@@ -14,6 +13,7 @@
1413
#include <utility>
1514
#include <vector>
1615

16+
#include "absl/container/chunked_queue.h"
1717
#include "absl/container/flat_hash_set.h"
1818
#include "absl/strings/string_view.h"
1919
#include "absl/types/span.h"
@@ -457,7 +457,7 @@ auto Graph::MarkConnectedComponents() -> std::vector<ComponentInfo> {
457457
current_component++;
458458
results_info.emplace_back(ComponentInfo{.mCompId = current_component, .mNumNodes = 0});
459459

460-
std::deque<Node*> connected_nodes;
460+
absl::chunked_queue<Node*, 128, 1024> connected_nodes;
461461
connected_nodes.push_back(item.second.get());
462462

463463
while (!connected_nodes.empty()) {

src/lancet/cbdg/max_flow.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#ifndef SRC_LANCET_CBDG_MAX_FLOW_H_
22
#define SRC_LANCET_CBDG_MAX_FLOW_H_
33

4-
#include <deque>
54
#include <optional>
65
#include <string>
76
#include <vector>
87

8+
#include "absl/container/chunked_queue.h"
99
#include "absl/container/flat_hash_set.h"
1010
#include "absl/container/inlined_vector.h"
1111
#include "absl/types/span.h"
@@ -36,7 +36,7 @@ class MaxFlow {
3636

3737
using Walk = std::vector<Edge>;
3838
using WalkView = absl::Span<const Edge>;
39-
using CandidateWalks = std::deque<Walk>;
39+
using CandidateWalks = absl::chunked_queue<Walk, 128, 1024>;
4040

4141
[[nodiscard]] auto BuildNextWalk() -> std::optional<Walk>;
4242

0 commit comments

Comments
 (0)