Skip to content

Commit 09da4f0

Browse files
authored
Merge pull request #2472 from joto/shrink-to-fit
Clear memory as early as possible.
2 parents 88b317f + 608ecff commit 09da4f0

2 files changed

Lines changed: 5 additions & 0 deletions

File tree

src/idlist.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ class idlist_t
5858

5959
void clear() noexcept { m_list.clear(); }
6060

61+
void shrink_to_fit() noexcept { m_list.shrink_to_fit(); }
62+
6163
void push_back(osmid_t id) { m_list.push_back(id); }
6264

6365
void reserve(std::size_t size) { m_list.reserve(size); }

src/osmdata.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ void osmdata_t::after_nodes()
8585
m_mid->get_node_parents(m_changed_nodes, &m_ways_pending_tracker,
8686
&m_rels_pending_tracker);
8787
m_changed_nodes.clear();
88+
m_changed_nodes.shrink_to_fit();
8889
}
8990
}
9091

@@ -136,6 +137,7 @@ void osmdata_t::after_ways()
136137
m_mid->get_way_parents(m_changed_ways, &m_rels_pending_tracker);
137138

138139
m_changed_ways.clear();
140+
m_changed_ways.shrink_to_fit();
139141
return;
140142
}
141143

@@ -183,6 +185,7 @@ void osmdata_t::after_relations()
183185
m_rels_pending_tracker.remove_ids_if_in(m_changed_relations);
184186

185187
m_changed_relations.clear();
188+
m_changed_relations.shrink_to_fit();
186189
}
187190

188191
m_output->sync();

0 commit comments

Comments
 (0)