From dbdf7e229670f4b2fc42dbe24da599cb5b7fa9d4 Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Thu, 28 Dec 2023 21:12:12 +0100 Subject: [PATCH] refactor: remove unused code --- include/dwarfs/inode.h | 2 -- include/dwarfs/inode_element_view.h | 1 - include/dwarfs/inode_ordering.h | 15 +++++---------- src/dwarfs/inode_element_view.cpp | 9 --------- src/dwarfs/inode_manager.cpp | 14 -------------- src/dwarfs/inode_ordering.cpp | 29 ++++++++++------------------- 6 files changed, 15 insertions(+), 55 deletions(-) diff --git a/include/dwarfs/inode.h b/include/dwarfs/inode.h index 6440b71c..d02268f3 100644 --- a/include/dwarfs/inode.h +++ b/include/dwarfs/inode.h @@ -54,9 +54,7 @@ class inode : public object { virtual void set_num(uint32_t num) = 0; virtual uint32_t num() const = 0; virtual bool has_category(fragment_category cat) const = 0; - virtual uint32_t similarity_hash() const = 0; virtual uint32_t similarity_hash(fragment_category cat) const = 0; - virtual nilsimsa::hash_type const& nilsimsa_similarity_hash() const = 0; virtual nilsimsa::hash_type const& nilsimsa_similarity_hash(fragment_category cat) const = 0; virtual size_t size() const = 0; diff --git a/include/dwarfs/inode_element_view.h b/include/dwarfs/inode_element_view.h index c42b78eb..a036a710 100644 --- a/include/dwarfs/inode_element_view.h +++ b/include/dwarfs/inode_element_view.h @@ -37,7 +37,6 @@ class inode_element_view public: inode_element_view() = default; - explicit inode_element_view(std::span const> inodes); inode_element_view(std::span const> inodes, std::span index, fragment_category cat); diff --git a/include/dwarfs/inode_ordering.h b/include/dwarfs/inode_ordering.h index c96ec38a..c557efbe 100644 --- a/include/dwarfs/inode_ordering.h +++ b/include/dwarfs/inode_ordering.h @@ -22,7 +22,6 @@ #pragma once #include -#include #include "dwarfs/inode.h" @@ -48,15 +47,12 @@ class inode_ordering { impl_->by_reverse_path(sp); } - void - by_similarity(sortable_inode_span& sp, - std::optional cat = std::nullopt) const { + void by_similarity(sortable_inode_span& sp, fragment_category cat) const { impl_->by_similarity(sp, cat); } void by_nilsimsa(worker_group& wg, similarity_ordering_options const& opts, - sortable_inode_span& sp, - std::optional cat = std::nullopt) const { + sortable_inode_span& sp, fragment_category cat) const { impl_->by_nilsimsa(wg, opts, sp, cat); } @@ -67,12 +63,11 @@ class inode_ordering { virtual void by_inode_number(sortable_inode_span& sp) const = 0; virtual void by_path(sortable_inode_span& sp) const = 0; virtual void by_reverse_path(sortable_inode_span& sp) const = 0; - virtual void by_similarity(sortable_inode_span& sp, - std::optional cat) const = 0; + virtual void + by_similarity(sortable_inode_span& sp, fragment_category cat) const = 0; virtual void by_nilsimsa(worker_group& wg, similarity_ordering_options const& opts, - sortable_inode_span& sp, - std::optional cat) const = 0; + sortable_inode_span& sp, fragment_category cat) const = 0; }; private: diff --git a/src/dwarfs/inode_element_view.cpp b/src/dwarfs/inode_element_view.cpp index f705d7f9..ff4583d8 100644 --- a/src/dwarfs/inode_element_view.cpp +++ b/src/dwarfs/inode_element_view.cpp @@ -29,15 +29,6 @@ namespace dwarfs { -inode_element_view::inode_element_view( - std::span const> inodes) - : inodes_{inodes} { - hash_cache_.reserve(inodes_.size()); - for (auto& i : inodes_) { - hash_cache_.push_back(&i->nilsimsa_similarity_hash()); - } -} - inode_element_view::inode_element_view( std::span const> inodes, std::span index, fragment_category cat) diff --git a/src/dwarfs/inode_manager.cpp b/src/dwarfs/inode_manager.cpp index c43066db..b3b9c464 100644 --- a/src/dwarfs/inode_manager.cpp +++ b/src/dwarfs/inode_manager.cpp @@ -96,20 +96,6 @@ class inode_ : public inode { fragments_, [cat](auto const& f) { return f.category() == cat; }); } - uint32_t similarity_hash() const override { - if (files_.empty()) { - DWARFS_THROW(runtime_error, "inode has no file (similarity)"); - } - return std::get(similarity_); - } - - nilsimsa::hash_type const& nilsimsa_similarity_hash() const override { - if (files_.empty()) { - DWARFS_THROW(runtime_error, "inode has no file (nilsimsa)"); - } - return std::get(similarity_); - } - uint32_t similarity_hash(fragment_category cat) const override { return find_similarity(cat); } diff --git a/src/dwarfs/inode_ordering.cpp b/src/dwarfs/inode_ordering.cpp index f0c20596..bd2c3b9e 100644 --- a/src/dwarfs/inode_ordering.cpp +++ b/src/dwarfs/inode_ordering.cpp @@ -43,11 +43,11 @@ class inode_ordering_ final : public inode_ordering::impl { void by_inode_number(sortable_inode_span& sp) const override; void by_path(sortable_inode_span& sp) const override; void by_reverse_path(sortable_inode_span& sp) const override; - void by_similarity(sortable_inode_span& sp, - std::optional cat) const override; - void by_nilsimsa(worker_group& wg, similarity_ordering_options const& opts, - sortable_inode_span& sp, - std::optional cat) const override; + void + by_similarity(sortable_inode_span& sp, fragment_category cat) const override; + void + by_nilsimsa(worker_group& wg, similarity_ordering_options const& opts, + sortable_inode_span& sp, fragment_category cat) const override; private: LOG_PROXY_DECL(LoggerPolicy); @@ -91,8 +91,8 @@ void inode_ordering_::by_reverse_path( } template -void inode_ordering_::by_similarity( - sortable_inode_span& sp, std::optional cat) const { +void inode_ordering_::by_similarity(sortable_inode_span& sp, + fragment_category cat) const { std::vector hash_cache; auto raw = sp.raw(); @@ -101,11 +101,7 @@ void inode_ordering_::by_similarity( hash_cache.resize(raw.size()); for (auto i : index) { - if (cat) { - hash_cache[i] = raw[i]->similarity_hash(*cat); - } else { - hash_cache[i] = raw[i]->similarity_hash(); - } + hash_cache[i] = raw[i]->similarity_hash(cat); } std::sort(index.begin(), index.end(), [&](auto a, auto b) { @@ -131,13 +127,8 @@ void inode_ordering_::by_similarity( template void inode_ordering_::by_nilsimsa( worker_group& wg, similarity_ordering_options const& opts, - sortable_inode_span& sp, std::optional cat) const { - inode_element_view ev; - if (cat) { - ev = inode_element_view(sp.raw(), sp.index(), *cat); - } else { - ev = inode_element_view(sp.raw()); - } + sortable_inode_span& sp, fragment_category cat) const { + auto ev = inode_element_view(sp.raw(), sp.index(), cat); std::promise> promise; auto future = promise.get_future(); auto sim_order = similarity_ordering(LOG_GET_LOGGER, prog_, wg, opts);