mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-09 12:28:13 -04:00
Add timing for entry ordering in walk_inode_order
This commit is contained in:
parent
c596629d05
commit
30a3d2faad
@ -652,15 +652,21 @@ void metadata_<LoggerPolicy>::walk_inode_order_impl(
|
|||||||
std::function<Signature> const& func) const {
|
std::function<Signature> const& func) const {
|
||||||
std::vector<std::pair<uint32_t, uint32_t>> entries;
|
std::vector<std::pair<uint32_t, uint32_t>> entries;
|
||||||
|
|
||||||
walk_tree([&](uint32_t entry_ix, uint32_t parent_ix) {
|
{
|
||||||
entries.emplace_back(entry_ix, parent_ix);
|
auto td = LOG_TIMED_DEBUG;
|
||||||
});
|
|
||||||
|
|
||||||
std::sort(entries.begin(), entries.end(),
|
walk_tree([&](uint32_t entry_ix, uint32_t parent_ix) {
|
||||||
[this](auto const& a, auto const& b) {
|
entries.emplace_back(entry_ix, parent_ix);
|
||||||
return meta_.entries()[a.first].inode() <
|
});
|
||||||
meta_.entries()[b.first].inode();
|
|
||||||
});
|
std::sort(entries.begin(), entries.end(),
|
||||||
|
[this](auto const& a, auto const& b) {
|
||||||
|
return meta_.entries()[a.first].inode() <
|
||||||
|
meta_.entries()[b.first].inode();
|
||||||
|
});
|
||||||
|
|
||||||
|
td << "ordered " << entries.size() << " entries by inode";
|
||||||
|
}
|
||||||
|
|
||||||
for (auto [entry, parent] : entries) {
|
for (auto [entry, parent] : entries) {
|
||||||
walk_call(func, entry, parent);
|
walk_call(func, entry, parent);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user